precision_m.f90 Source File


Files dependent on this one

sourcefile~~precision_m.f90~~AfferentGraph sourcefile~precision_m.f90 precision_m.f90 sourcefile~analytic_divertor_equilibrium_m.f90 analytic_divertor_equilibrium_m.f90 sourcefile~analytic_divertor_equilibrium_m.f90->sourcefile~precision_m.f90 sourcefile~divertor_equilibrium_m.f90 divertor_equilibrium_m.f90 sourcefile~analytic_divertor_equilibrium_m.f90->sourcefile~divertor_equilibrium_m.f90 sourcefile~array_generation_m.f90 array_generation_m.f90 sourcefile~array_generation_m.f90->sourcefile~precision_m.f90 sourcefile~benchmark_helmholtz_solvers.f90 benchmark_helmholtz_solvers.f90 sourcefile~benchmark_helmholtz_solvers.f90->sourcefile~precision_m.f90 sourcefile~equilibrium_m.f90 equilibrium_m.f90 sourcefile~benchmark_helmholtz_solvers.f90->sourcefile~equilibrium_m.f90 sourcefile~error_handling_m.f90 error_handling_m.f90 sourcefile~benchmark_helmholtz_solvers.f90->sourcefile~error_handling_m.f90 sourcefile~helmholtz_netcdfio_m.f90 helmholtz_netcdfio_m.f90 sourcefile~benchmark_helmholtz_solvers.f90->sourcefile~helmholtz_netcdfio_m.f90 sourcefile~helmholtz_solver_factory_m.f90 helmholtz_solver_factory_m.f90 sourcefile~benchmark_helmholtz_solvers.f90->sourcefile~helmholtz_solver_factory_m.f90 sourcefile~mesh_cart_m.f90 mesh_cart_m.f90 sourcefile~benchmark_helmholtz_solvers.f90->sourcefile~mesh_cart_m.f90 sourcefile~multigrid_m.f90 multigrid_m.f90 sourcefile~benchmark_helmholtz_solvers.f90->sourcefile~multigrid_m.f90 sourcefile~perf_m.f90 perf_m.f90 sourcefile~benchmark_helmholtz_solvers.f90->sourcefile~perf_m.f90 sourcefile~screen_io_m.f90 screen_io_m.f90 sourcefile~benchmark_helmholtz_solvers.f90->sourcefile~screen_io_m.f90 sourcefile~testfunctions_m.f90 testfunctions_m.f90 sourcefile~benchmark_helmholtz_solvers.f90->sourcefile~testfunctions_m.f90 sourcefile~descriptors_m.f90 descriptors_m.f90 sourcefile~benchmark_helmholtz_solvers.f90->sourcefile~descriptors_m.f90 sourcefile~device_handling_m.f90 device_handling_m.f90 sourcefile~benchmark_helmholtz_solvers.f90->sourcefile~device_handling_m.f90 sourcefile~equilibrium_factory_m.f90 equilibrium_factory_m.f90 sourcefile~benchmark_helmholtz_solvers.f90->sourcefile~equilibrium_factory_m.f90 sourcefile~boundaries_perp.f90 boundaries_perp.f90 sourcefile~boundaries_perp.f90->sourcefile~precision_m.f90 sourcefile~boundaries_perp.f90->sourcefile~error_handling_m.f90 sourcefile~boundaries_perp.f90->sourcefile~mesh_cart_m.f90 sourcefile~boundaries_perp.f90->sourcefile~screen_io_m.f90 sourcefile~boundaries_perp.f90->sourcefile~descriptors_m.f90 sourcefile~carthy_equilibrium_m.f90 carthy_equilibrium_m.f90 sourcefile~carthy_equilibrium_m.f90->sourcefile~precision_m.f90 sourcefile~carthy_equilibrium_m.f90->sourcefile~analytic_divertor_equilibrium_m.f90 sourcefile~constants_m.f90 constants_m.f90 sourcefile~carthy_equilibrium_m.f90->sourcefile~constants_m.f90 sourcefile~elementary_functions_m.f90 elementary_functions_m.f90 sourcefile~carthy_equilibrium_m.f90->sourcefile~elementary_functions_m.f90 sourcefile~carthy_equilibrium_m.f90->sourcefile~screen_io_m.f90 sourcefile~carthy_equilibrium_m.f90->sourcefile~descriptors_m.f90 sourcefile~cerfons_equilibrium_m.f90 cerfons_equilibrium_m.f90 sourcefile~cerfons_equilibrium_m.f90->sourcefile~precision_m.f90 sourcefile~cerfons_equilibrium_m.f90->sourcefile~analytic_divertor_equilibrium_m.f90 sourcefile~cerfons_equilibrium_m.f90->sourcefile~constants_m.f90 sourcefile~cerfons_equilibrium_m.f90->sourcefile~elementary_functions_m.f90 sourcefile~cerfons_equilibrium_m.f90->sourcefile~screen_io_m.f90 sourcefile~cerfons_equilibrium_m.f90->sourcefile~descriptors_m.f90 sourcefile~circular_equilibrium_m.f90 circular_equilibrium_m.f90 sourcefile~circular_equilibrium_m.f90->sourcefile~precision_m.f90 sourcefile~circular_equilibrium_m.f90->sourcefile~constants_m.f90 sourcefile~circular_equilibrium_m.f90->sourcefile~elementary_functions_m.f90 sourcefile~circular_equilibrium_m.f90->sourcefile~equilibrium_m.f90 sourcefile~circular_equilibrium_m.f90->sourcefile~error_handling_m.f90 sourcefile~params_equi_circular_m.f90 params_equi_circular_m.f90 sourcefile~circular_equilibrium_m.f90->sourcefile~params_equi_circular_m.f90 sourcefile~circular_equilibrium_m.f90->sourcefile~screen_io_m.f90 sourcefile~circular_equilibrium_m.f90->sourcefile~descriptors_m.f90 sourcefile~circular_toroidal_equilibrium_m.f90 circular_toroidal_equilibrium_m.f90 sourcefile~circular_toroidal_equilibrium_m.f90->sourcefile~precision_m.f90 sourcefile~circular_toroidal_equilibrium_m.f90->sourcefile~constants_m.f90 sourcefile~circular_toroidal_equilibrium_m.f90->sourcefile~equilibrium_m.f90 sourcefile~circular_toroidal_equilibrium_m.f90->sourcefile~error_handling_m.f90 sourcefile~euclidean_geo_m.f90 euclidean_geo_m.f90 sourcefile~circular_toroidal_equilibrium_m.f90->sourcefile~euclidean_geo_m.f90 sourcefile~kisslinger_m.f90 kisslinger_m.f90 sourcefile~circular_toroidal_equilibrium_m.f90->sourcefile~kisslinger_m.f90 sourcefile~params_equi_circular_toroidal_m.f90 params_equi_circular_toroidal_m.f90 sourcefile~circular_toroidal_equilibrium_m.f90->sourcefile~params_equi_circular_toroidal_m.f90 sourcefile~circular_toroidal_equilibrium_m.f90->sourcefile~screen_io_m.f90 sourcefile~circular_toroidal_equilibrium_m.f90->sourcefile~descriptors_m.f90 sourcefile~connection_length_m.f90 connection_length_m.f90 sourcefile~connection_length_m.f90->sourcefile~precision_m.f90 sourcefile~connection_length_m.f90->sourcefile~equilibrium_m.f90 sourcefile~connection_length_m.f90->sourcefile~error_handling_m.f90 sourcefile~fieldline_tracer_m.f90 fieldline_tracer_m.f90 sourcefile~connection_length_m.f90->sourcefile~fieldline_tracer_m.f90 sourcefile~connection_length_m.f90->sourcefile~screen_io_m.f90 sourcefile~connection_length_m.f90->sourcefile~descriptors_m.f90 sourcefile~constants_m.f90->sourcefile~precision_m.f90 sourcefile~coords_polar_m.f90 coords_polar_m.f90 sourcefile~coords_polar_m.f90->sourcefile~precision_m.f90 sourcefile~coords_polar_m.f90->sourcefile~constants_m.f90 sourcefile~coords_polar_m.f90->sourcefile~equilibrium_m.f90 sourcefile~root_finding_m.f90 root_finding_m.f90 sourcefile~coords_polar_m.f90->sourcefile~root_finding_m.f90 sourcefile~coords_polar_m.f90->sourcefile~screen_io_m.f90 sourcefile~slab_equilibrium.f90 slab_equilibrium.f90 sourcefile~coords_polar_m.f90->sourcefile~slab_equilibrium.f90 sourcefile~csrmat_m.f90 csrmat_m.f90 sourcefile~csrmat_m.f90->sourcefile~precision_m.f90 sourcefile~csrmat_m.f90->sourcefile~error_handling_m.f90 sourcefile~list_operations_m.f90 list_operations_m.f90 sourcefile~csrmat_m.f90->sourcefile~list_operations_m.f90 sourcefile~csrmat_m.f90->sourcefile~screen_io_m.f90 sourcefile~diagnose_poincare.f90 diagnose_poincare.f90 sourcefile~diagnose_poincare.f90->sourcefile~precision_m.f90 sourcefile~diagnose_poincare.f90->sourcefile~array_generation_m.f90 sourcefile~diagnose_poincare.f90->sourcefile~constants_m.f90 sourcefile~diagnose_poincare.f90->sourcefile~coords_polar_m.f90 sourcefile~diagnose_poincare.f90->sourcefile~equilibrium_m.f90 sourcefile~diagnose_poincare.f90->sourcefile~error_handling_m.f90 sourcefile~diagnose_poincare.f90->sourcefile~fieldline_tracer_m.f90 sourcefile~diagnose_poincare.f90->sourcefile~screen_io_m.f90 sourcefile~diagnose_poincare.f90->sourcefile~equilibrium_factory_m.f90 sourcefile~divertor_equilibrium_m.f90->sourcefile~precision_m.f90 sourcefile~divertor_equilibrium_m.f90->sourcefile~equilibrium_m.f90 sourcefile~divertor_equilibrium_m.f90->sourcefile~error_handling_m.f90 sourcefile~polygon_m.f90 polygon_m.f90 sourcefile~divertor_equilibrium_m.f90->sourcefile~polygon_m.f90 sourcefile~divertor_equilibrium_m.f90->sourcefile~screen_io_m.f90 sourcefile~divertor_equilibrium_m.f90->sourcefile~descriptors_m.f90 sourcefile~dommaschk_equilibrium_m.f90 dommaschk_equilibrium_m.f90 sourcefile~dommaschk_equilibrium_m.f90->sourcefile~precision_m.f90 sourcefile~dommaschk_equilibrium_m.f90->sourcefile~constants_m.f90 sourcefile~dommaschk_equilibrium_m.f90->sourcefile~elementary_functions_m.f90 sourcefile~dommaschk_equilibrium_m.f90->sourcefile~equilibrium_m.f90 sourcefile~dommaschk_equilibrium_m.f90->sourcefile~error_handling_m.f90 sourcefile~dommaschk_equilibrium_m.f90->sourcefile~euclidean_geo_m.f90 sourcefile~dommaschk_equilibrium_m.f90->sourcefile~fieldline_tracer_m.f90 sourcefile~interpolation_m.f90 interpolation_m.f90 sourcefile~dommaschk_equilibrium_m.f90->sourcefile~interpolation_m.f90 sourcefile~dommaschk_equilibrium_m.f90->sourcefile~kisslinger_m.f90 sourcefile~params_equi_dommaschk_m.f90 params_equi_dommaschk_m.f90 sourcefile~dommaschk_equilibrium_m.f90->sourcefile~params_equi_dommaschk_m.f90 sourcefile~dommaschk_equilibrium_m.f90->sourcefile~polygon_m.f90 sourcefile~dommaschk_equilibrium_m.f90->sourcefile~screen_io_m.f90 sourcefile~dommaschk_equilibrium_m.f90->sourcefile~descriptors_m.f90 sourcefile~elementary_functions_m.f90->sourcefile~precision_m.f90 sourcefile~equilibrium_m.f90->sourcefile~precision_m.f90 sourcefile~error_handling_m.f90->sourcefile~precision_m.f90 sourcefile~error_handling_m.f90->sourcefile~screen_io_m.f90 sourcefile~euclidean_geo_m.f90->sourcefile~precision_m.f90 sourcefile~fieldline_tracer_m.f90->sourcefile~precision_m.f90 sourcefile~fieldline_tracer_m.f90->sourcefile~equilibrium_m.f90 sourcefile~fieldline_tracer_m.f90->sourcefile~error_handling_m.f90 sourcefile~fieldline_tracer_m.f90->sourcefile~screen_io_m.f90 sourcefile~flare_equilibrium_m.f90 flare_equilibrium_m.f90 sourcefile~flare_equilibrium_m.f90->sourcefile~precision_m.f90 sourcefile~flare_equilibrium_m.f90->sourcefile~equilibrium_m.f90 sourcefile~flare_equilibrium_m.f90->sourcefile~error_handling_m.f90 sourcefile~flare_equilibrium_m.f90->sourcefile~euclidean_geo_m.f90 sourcefile~flare_equilibrium_m.f90->sourcefile~kisslinger_m.f90 sourcefile~params_equi_flare_m.f90 params_equi_flare_m.f90 sourcefile~flare_equilibrium_m.f90->sourcefile~params_equi_flare_m.f90 sourcefile~flare_equilibrium_m.f90->sourcefile~polygon_m.f90 sourcefile~flare_equilibrium_m.f90->sourcefile~screen_io_m.f90 sourcefile~flare_equilibrium_m.f90->sourcefile~descriptors_m.f90 sourcefile~gauss_quadrature_m.f90 gauss_quadrature_m.f90 sourcefile~gauss_quadrature_m.f90->sourcefile~precision_m.f90 sourcefile~gauss_quadrature_m.f90->sourcefile~constants_m.f90 sourcefile~helmholtz_netcdfio_m.f90->sourcefile~precision_m.f90 sourcefile~helmholtz_netcdfio_m.f90->sourcefile~csrmat_m.f90 sourcefile~helmholtz_operator_m.f90 helmholtz_operator_m.f90 sourcefile~helmholtz_netcdfio_m.f90->sourcefile~helmholtz_operator_m.f90 sourcefile~helmholtz_netcdfio_m.f90->sourcefile~mesh_cart_m.f90 sourcefile~helmholtz_netcdfio_m.f90->sourcefile~screen_io_m.f90 sourcefile~helmholtz_netcdfio_m.f90->sourcefile~descriptors_m.f90 sourcefile~helmholtz_operator_m.f90->sourcefile~precision_m.f90 sourcefile~helmholtz_operator_m.f90->sourcefile~boundaries_perp.f90 sourcefile~helmholtz_operator_m.f90->sourcefile~csrmat_m.f90 sourcefile~helmholtz_operator_m.f90->sourcefile~error_handling_m.f90 sourcefile~helmholtz_operator_m.f90->sourcefile~list_operations_m.f90 sourcefile~helmholtz_operator_m.f90->sourcefile~mesh_cart_m.f90 sourcefile~helmholtz_operator_m.f90->sourcefile~screen_io_m.f90 sourcefile~helmholtz_operator_m.f90->sourcefile~descriptors_m.f90 sourcefile~helmholtz_solver_factory_m.f90->sourcefile~precision_m.f90 sourcefile~helmholtz_solver_factory_m.f90->sourcefile~multigrid_m.f90 sourcefile~helmholtz_solver_factory_m.f90->sourcefile~screen_io_m.f90 sourcefile~splitting_m.f90 splitting_m.f90 sourcefile~helmholtz_solver_factory_m.f90->sourcefile~splitting_m.f90 sourcefile~helmholtz_solver_factory_m.f90->sourcefile~device_handling_m.f90 sourcefile~helmholtz_solver_mgmres_cxx_s.f90 helmholtz_solver_mgmres_cxx_s.f90 sourcefile~helmholtz_solver_mgmres_cxx_s.f90->sourcefile~precision_m.f90 sourcefile~helmholtz_solver_mgmres_cxx_s.f90->sourcefile~device_handling_m.f90 sourcefile~helpers_m.f90 helpers_m.f90 sourcefile~helpers_m.f90->sourcefile~precision_m.f90 sourcefile~helpers_m.f90->sourcefile~constants_m.f90 sourcefile~helpers_m.f90->sourcefile~csrmat_m.f90 sourcefile~helpers_m.f90->sourcefile~screen_io_m.f90 sourcefile~immersed_m.f90 immersed_m.f90 sourcefile~immersed_m.f90->sourcefile~precision_m.f90 sourcefile~immersed_m.f90->sourcefile~equilibrium_m.f90 sourcefile~immersed_m.f90->sourcefile~list_operations_m.f90 sourcefile~immersed_m.f90->sourcefile~mesh_cart_m.f90 sourcefile~immersed_rho_m.f90 immersed_rho_m.f90 sourcefile~immersed_rho_m.f90->sourcefile~precision_m.f90 sourcefile~immersed_rho_m.f90->sourcefile~elementary_functions_m.f90 sourcefile~immersed_rho_m.f90->sourcefile~equilibrium_m.f90 sourcefile~immersed_rho_m.f90->sourcefile~error_handling_m.f90 sourcefile~immersed_rho_m.f90->sourcefile~immersed_m.f90 sourcefile~immersed_rho_m.f90->sourcefile~mesh_cart_m.f90 sourcefile~immersed_rho_m.f90->sourcefile~screen_io_m.f90 sourcefile~immersed_trace_m.f90 immersed_trace_m.f90 sourcefile~immersed_trace_m.f90->sourcefile~precision_m.f90 sourcefile~immersed_trace_m.f90->sourcefile~connection_length_m.f90 sourcefile~immersed_trace_m.f90->sourcefile~constants_m.f90 sourcefile~immersed_trace_m.f90->sourcefile~elementary_functions_m.f90 sourcefile~immersed_trace_m.f90->sourcefile~equilibrium_m.f90 sourcefile~immersed_trace_m.f90->sourcefile~error_handling_m.f90 sourcefile~immersed_trace_m.f90->sourcefile~immersed_m.f90 sourcefile~immersed_trace_m.f90->sourcefile~mesh_cart_m.f90 sourcefile~immersed_trace_m.f90->sourcefile~root_finding_m.f90 sourcefile~immersed_trace_m.f90->sourcefile~screen_io_m.f90 sourcefile~immersed_vessel_m.f90 immersed_vessel_m.f90 sourcefile~immersed_vessel_m.f90->sourcefile~precision_m.f90 sourcefile~immersed_vessel_m.f90->sourcefile~equilibrium_m.f90 sourcefile~immersed_vessel_m.f90->sourcefile~immersed_m.f90 sourcefile~immersed_vessel_m.f90->sourcefile~mesh_cart_m.f90 sourcefile~interpolation_m.f90->sourcefile~precision_m.f90 sourcefile~interpolation_m.f90->sourcefile~error_handling_m.f90 sourcefile~interpolation_m.f90->sourcefile~screen_io_m.f90 sourcefile~interpolation_m.f90->sourcefile~descriptors_m.f90 sourcefile~kisslinger_m.f90->sourcefile~precision_m.f90 sourcefile~kisslinger_m.f90->sourcefile~constants_m.f90 sourcefile~kisslinger_m.f90->sourcefile~error_handling_m.f90 sourcefile~kisslinger_m.f90->sourcefile~list_operations_m.f90 sourcefile~kisslinger_m.f90->sourcefile~screen_io_m.f90 sourcefile~list_operations_m.f90->sourcefile~precision_m.f90 sourcefile~list_operations_m.f90->sourcefile~screen_io_m.f90 sourcefile~map_factory_m.f90 map_factory_m.f90 sourcefile~map_factory_m.f90->sourcefile~precision_m.f90 sourcefile~map_factory_m.f90->sourcefile~constants_m.f90 sourcefile~map_factory_m.f90->sourcefile~csrmat_m.f90 sourcefile~map_factory_m.f90->sourcefile~equilibrium_m.f90 sourcefile~map_factory_m.f90->sourcefile~gauss_quadrature_m.f90 sourcefile~map_factory_m.f90->sourcefile~mesh_cart_m.f90 sourcefile~map_factory_s.f90 map_factory_s.f90 sourcefile~map_factory_s.f90->sourcefile~precision_m.f90 sourcefile~map_factory_s.f90->sourcefile~dommaschk_equilibrium_m.f90 sourcefile~map_factory_s.f90->sourcefile~fieldline_tracer_m.f90 sourcefile~map_factory_s.f90->sourcefile~gauss_quadrature_m.f90 sourcefile~map_factory_s.f90->sourcefile~interpolation_m.f90 sourcefile~map_factory_s.f90->sourcefile~list_operations_m.f90 sourcefile~map_factory_s.f90->sourcefile~map_factory_m.f90 sourcefile~mpi_mapping_auxiliaries_m.f90 mpi_mapping_auxiliaries_m.f90 sourcefile~map_factory_s.f90->sourcefile~mpi_mapping_auxiliaries_m.f90 sourcefile~map_factory_s.f90->sourcefile~screen_io_m.f90 sourcefile~mesh_cart_m.f90->sourcefile~precision_m.f90 sourcefile~mesh_cart_m.f90->sourcefile~equilibrium_m.f90 sourcefile~mesh_cart_m.f90->sourcefile~error_handling_m.f90 sourcefile~mesh_cart_m.f90->sourcefile~slab_equilibrium.f90 sourcefile~mesh_cart_m.f90->sourcefile~descriptors_m.f90 sourcefile~mpi_mapping_auxiliaries_m.f90->sourcefile~precision_m.f90 sourcefile~mpi_mapping_auxiliaries_m.f90->sourcefile~csrmat_m.f90 sourcefile~mpi_mapping_auxiliaries_m.f90->sourcefile~screen_io_m.f90 sourcefile~multigrid_m.f90->sourcefile~precision_m.f90 sourcefile~multigrid_m.f90->sourcefile~boundaries_perp.f90 sourcefile~multigrid_m.f90->sourcefile~csrmat_m.f90 sourcefile~multigrid_m.f90->sourcefile~equilibrium_m.f90 sourcefile~multigrid_m.f90->sourcefile~mesh_cart_m.f90 sourcefile~multigrid_m.f90->sourcefile~screen_io_m.f90 sourcefile~multigrid_m.f90->sourcefile~descriptors_m.f90 sourcefile~multigrid_solver_m.f90 multigrid_solver_m.f90 sourcefile~multigrid_solver_m.f90->sourcefile~precision_m.f90 sourcefile~multigrid_solver_m.f90->sourcefile~boundaries_perp.f90 sourcefile~multigrid_solver_m.f90->sourcefile~csrmat_m.f90 sourcefile~multigrid_solver_m.f90->sourcefile~helmholtz_operator_m.f90 sourcefile~multigrid_solver_m.f90->sourcefile~mesh_cart_m.f90 sourcefile~multigrid_solver_m.f90->sourcefile~multigrid_m.f90 sourcefile~multigrid_solver_m.f90->sourcefile~splitting_m.f90 sourcefile~multigrid_solver_m.f90->sourcefile~descriptors_m.f90 sourcefile~numerical_equilibrium_m.f90 numerical_equilibrium_m.f90 sourcefile~numerical_equilibrium_m.f90->sourcefile~precision_m.f90 sourcefile~numerical_equilibrium_m.f90->sourcefile~constants_m.f90 sourcefile~numerical_equilibrium_m.f90->sourcefile~divertor_equilibrium_m.f90 sourcefile~numerical_equilibrium_m.f90->sourcefile~elementary_functions_m.f90 sourcefile~numerical_equilibrium_m.f90->sourcefile~polygon_m.f90 sourcefile~numerical_equilibrium_m.f90->sourcefile~screen_io_m.f90 sourcefile~numerical_equilibrium_m.f90->sourcefile~descriptors_m.f90 sourcefile~params_equi_circular_m.f90->sourcefile~precision_m.f90 sourcefile~params_equi_circular_m.f90->sourcefile~error_handling_m.f90 sourcefile~params_equi_circular_m.f90->sourcefile~screen_io_m.f90 sourcefile~params_equi_circular_toroidal_m.f90->sourcefile~precision_m.f90 sourcefile~params_equi_circular_toroidal_m.f90->sourcefile~error_handling_m.f90 sourcefile~params_equi_circular_toroidal_m.f90->sourcefile~screen_io_m.f90 sourcefile~params_equi_dommaschk_m.f90->sourcefile~precision_m.f90 sourcefile~params_equi_dommaschk_m.f90->sourcefile~error_handling_m.f90 sourcefile~params_equi_dommaschk_m.f90->sourcefile~screen_io_m.f90 sourcefile~params_equi_flare_m.f90->sourcefile~precision_m.f90 sourcefile~params_equi_flare_m.f90->sourcefile~error_handling_m.f90 sourcefile~params_equi_flare_m.f90->sourcefile~screen_io_m.f90 sourcefile~params_equi_salpha_m.f90 params_equi_salpha_m.f90 sourcefile~params_equi_salpha_m.f90->sourcefile~precision_m.f90 sourcefile~params_equi_salpha_m.f90->sourcefile~error_handling_m.f90 sourcefile~params_equi_salpha_m.f90->sourcefile~screen_io_m.f90 sourcefile~params_equi_slab_m.f90 params_equi_slab_m.f90 sourcefile~params_equi_slab_m.f90->sourcefile~precision_m.f90 sourcefile~params_equi_slab_m.f90->sourcefile~error_handling_m.f90 sourcefile~params_equi_slab_m.f90->sourcefile~screen_io_m.f90 sourcefile~parbnd_taylor_m.f90 parbnd_taylor_m.f90 sourcefile~parbnd_taylor_m.f90->sourcefile~precision_m.f90 sourcefile~parbnd_taylor_m.f90->sourcefile~connection_length_m.f90 sourcefile~parbnd_taylor_m.f90->sourcefile~constants_m.f90 sourcefile~parbnd_taylor_m.f90->sourcefile~elementary_functions_m.f90 sourcefile~parbnd_taylor_m.f90->sourcefile~equilibrium_m.f90 sourcefile~parbnd_taylor_m.f90->sourcefile~error_handling_m.f90 sourcefile~parbnd_taylor_m.f90->sourcefile~fieldline_tracer_m.f90 sourcefile~parbnd_taylor_m.f90->sourcefile~mesh_cart_m.f90 sourcefile~parbnd_taylor_m.f90->sourcefile~screen_io_m.f90 sourcefile~perf_m.f90->sourcefile~precision_m.f90 sourcefile~perf_m.f90->sourcefile~screen_io_m.f90 sourcefile~polar_grid_m.f90 polar_grid_m.f90 sourcefile~polar_grid_m.f90->sourcefile~precision_m.f90 sourcefile~polar_grid_m.f90->sourcefile~circular_equilibrium_m.f90 sourcefile~polar_grid_m.f90->sourcefile~constants_m.f90 sourcefile~polar_grid_m.f90->sourcefile~coords_polar_m.f90 sourcefile~polar_grid_m.f90->sourcefile~equilibrium_m.f90 sourcefile~polar_grid_m.f90->sourcefile~slab_equilibrium.f90 sourcefile~polar_map_factory_m.f90 polar_map_factory_m.f90 sourcefile~polar_map_factory_m.f90->sourcefile~precision_m.f90 sourcefile~polar_map_factory_m.f90->sourcefile~coords_polar_m.f90 sourcefile~polar_map_factory_m.f90->sourcefile~csrmat_m.f90 sourcefile~polar_map_factory_m.f90->sourcefile~equilibrium_m.f90 sourcefile~polar_map_factory_m.f90->sourcefile~interpolation_m.f90 sourcefile~polar_map_factory_m.f90->sourcefile~mesh_cart_m.f90 sourcefile~polar_map_factory_m.f90->sourcefile~polar_grid_m.f90 sourcefile~polar_map_factory_m.f90->sourcefile~screen_io_m.f90 sourcefile~polar_map_factory_m.f90->sourcefile~descriptors_m.f90 sourcefile~polygon_m.f90->sourcefile~precision_m.f90 sourcefile~polygon_m.f90->sourcefile~screen_io_m.f90 sourcefile~polygon_m.f90->sourcefile~descriptors_m.f90 sourcefile~polynomials_m.f90 polynomials_m.f90 sourcefile~polynomials_m.f90->sourcefile~precision_m.f90 sourcefile~root_finding_m.f90->sourcefile~precision_m.f90 sourcefile~safety_factor_m.f90 safety_factor_m.f90 sourcefile~safety_factor_m.f90->sourcefile~precision_m.f90 sourcefile~safety_factor_m.f90->sourcefile~constants_m.f90 sourcefile~safety_factor_m.f90->sourcefile~coords_polar_m.f90 sourcefile~safety_factor_m.f90->sourcefile~equilibrium_m.f90 sourcefile~safety_factor_m.f90->sourcefile~screen_io_m.f90 sourcefile~salpha_equilibrium_m.f90 salpha_equilibrium_m.f90 sourcefile~salpha_equilibrium_m.f90->sourcefile~precision_m.f90 sourcefile~salpha_equilibrium_m.f90->sourcefile~constants_m.f90 sourcefile~salpha_equilibrium_m.f90->sourcefile~equilibrium_m.f90 sourcefile~salpha_equilibrium_m.f90->sourcefile~error_handling_m.f90 sourcefile~salpha_equilibrium_m.f90->sourcefile~params_equi_salpha_m.f90 sourcefile~salpha_equilibrium_m.f90->sourcefile~screen_io_m.f90 sourcefile~salpha_equilibrium_m.f90->sourcefile~descriptors_m.f90 sourcefile~screen_io_m.f90->sourcefile~precision_m.f90 sourcefile~slab_equilibrium.f90->sourcefile~precision_m.f90 sourcefile~slab_equilibrium.f90->sourcefile~equilibrium_m.f90 sourcefile~slab_equilibrium.f90->sourcefile~params_equi_slab_m.f90 sourcefile~slab_equilibrium.f90->sourcefile~screen_io_m.f90 sourcefile~slab_equilibrium.f90->sourcefile~descriptors_m.f90 sourcefile~solver3d_m.f90 solver3d_m.f90 sourcefile~solver3d_m.f90->sourcefile~precision_m.f90 sourcefile~solver3d_m.f90->sourcefile~error_handling_m.f90 sourcefile~solver3d_m.f90->sourcefile~screen_io_m.f90 sourcefile~splitting_m.f90->sourcefile~precision_m.f90 sourcefile~splitting_m.f90->sourcefile~csrmat_m.f90 sourcefile~splitting_m.f90->sourcefile~mesh_cart_m.f90 sourcefile~test_diffusion.f90 test_diffusion.f90 sourcefile~test_diffusion.f90->sourcefile~precision_m.f90 sourcefile~test_diffusion.f90->sourcefile~constants_m.f90 sourcefile~test_diffusion.f90->sourcefile~csrmat_m.f90 sourcefile~test_diffusion.f90->sourcefile~elementary_functions_m.f90 sourcefile~test_diffusion.f90->sourcefile~equilibrium_m.f90 sourcefile~test_diffusion.f90->sourcefile~error_handling_m.f90 sourcefile~test_diffusion.f90->sourcefile~fieldline_tracer_m.f90 sourcefile~test_diffusion.f90->sourcefile~map_factory_m.f90 sourcefile~test_diffusion.f90->sourcefile~mesh_cart_m.f90 sourcefile~test_diffusion.f90->sourcefile~mpi_mapping_auxiliaries_m.f90 sourcefile~test_diffusion.f90->sourcefile~perf_m.f90 sourcefile~test_diffusion.f90->sourcefile~screen_io_m.f90 sourcefile~vis_vtk3d_m.f90 vis_vtk3d_m.f90 sourcefile~test_diffusion.f90->sourcefile~vis_vtk3d_m.f90 sourcefile~test_diffusion.f90->sourcefile~equilibrium_factory_m.f90 sourcefile~testfunctions_m.f90->sourcefile~precision_m.f90 sourcefile~testfunctions_m.f90->sourcefile~circular_equilibrium_m.f90 sourcefile~testfunctions_m.f90->sourcefile~constants_m.f90 sourcefile~testfunctions_m.f90->sourcefile~equilibrium_m.f90 sourcefile~testfunctions_m.f90->sourcefile~numerical_equilibrium_m.f90 sourcefile~testfunctions_m.f90->sourcefile~screen_io_m.f90 sourcefile~testfunctions_m.f90->sourcefile~slab_equilibrium.f90 sourcefile~vis_vtk3d_m.f90->sourcefile~precision_m.f90 sourcefile~vis_vtk3d_m.f90->sourcefile~equilibrium_m.f90 sourcefile~vis_vtk3d_m.f90->sourcefile~fieldline_tracer_m.f90 sourcefile~vis_vtk3d_m.f90->sourcefile~list_operations_m.f90 sourcefile~vis_vtk3d_m.f90->sourcefile~mesh_cart_m.f90 sourcefile~vis_vtk3d_m.f90->sourcefile~screen_io_m.f90 sourcefile~zonal_averages_factory_m.f90 zonal_averages_factory_m.f90 sourcefile~zonal_averages_factory_m.f90->sourcefile~precision_m.f90 sourcefile~zonal_averages_factory_m.f90->sourcefile~coords_polar_m.f90 sourcefile~zonal_averages_factory_m.f90->sourcefile~csrmat_m.f90 sourcefile~zonal_averages_factory_m.f90->sourcefile~equilibrium_m.f90 sourcefile~zonal_averages_factory_m.f90->sourcefile~list_operations_m.f90 sourcefile~zonal_averages_factory_m.f90->sourcefile~mesh_cart_m.f90 sourcefile~zonal_averages_factory_m.f90->sourcefile~polar_grid_m.f90 sourcefile~zonal_averages_factory_m.f90->sourcefile~screen_io_m.f90 sourcefile~csr_samples_m.f90 csr_samples_m.f90 sourcefile~csr_samples_m.f90->sourcefile~csrmat_m.f90 sourcefile~descriptors_m.f90->sourcefile~screen_io_m.f90 sourcefile~device_handling_m.f90->sourcefile~error_handling_m.f90 sourcefile~device_handling_m.f90->sourcefile~screen_io_m.f90 sourcefile~dommaschk_equilibrium_netcdf_s.f90 dommaschk_equilibrium_netcdf_s.f90 sourcefile~dommaschk_equilibrium_netcdf_s.f90->sourcefile~array_generation_m.f90 sourcefile~dommaschk_equilibrium_netcdf_s.f90->sourcefile~dommaschk_equilibrium_m.f90 sourcefile~dommaschk_equilibrium_netcdf_s.f90->sourcefile~error_handling_m.f90 sourcefile~equilibrium_factory_m.f90->sourcefile~carthy_equilibrium_m.f90 sourcefile~equilibrium_factory_m.f90->sourcefile~cerfons_equilibrium_m.f90 sourcefile~equilibrium_factory_m.f90->sourcefile~circular_equilibrium_m.f90 sourcefile~equilibrium_factory_m.f90->sourcefile~circular_toroidal_equilibrium_m.f90 sourcefile~equilibrium_factory_m.f90->sourcefile~dommaschk_equilibrium_m.f90 sourcefile~equilibrium_factory_m.f90->sourcefile~equilibrium_m.f90 sourcefile~equilibrium_factory_m.f90->sourcefile~error_handling_m.f90 sourcefile~equilibrium_factory_m.f90->sourcefile~flare_equilibrium_m.f90 sourcefile~equilibrium_factory_m.f90->sourcefile~numerical_equilibrium_m.f90 sourcefile~equilibrium_factory_m.f90->sourcefile~salpha_equilibrium_m.f90 sourcefile~equilibrium_factory_m.f90->sourcefile~slab_equilibrium.f90 sourcefile~error_handler_s.f90 error_handler_s.f90 sourcefile~error_handler_s.f90->sourcefile~error_handling_m.f90 sourcefile~error_info_s.f90 error_info_s.f90 sourcefile~error_info_s.f90->sourcefile~error_handling_m.f90 sourcefile~immersed_factory_m.f90 immersed_factory_m.f90 sourcefile~immersed_factory_m.f90->sourcefile~equilibrium_m.f90 sourcefile~immersed_factory_m.f90->sourcefile~error_handling_m.f90 sourcefile~immersed_factory_m.f90->sourcefile~immersed_m.f90 sourcefile~immersed_factory_m.f90->sourcefile~immersed_rho_m.f90 sourcefile~immersed_factory_m.f90->sourcefile~immersed_trace_m.f90 sourcefile~immersed_factory_m.f90->sourcefile~immersed_vessel_m.f90 sourcefile~immersed_factory_m.f90->sourcefile~mesh_cart_m.f90 sourcefile~immersed_netcdf_s.f90 immersed_netcdf_s.f90 sourcefile~immersed_netcdf_s.f90->sourcefile~error_handling_m.f90 sourcefile~immersed_netcdf_s.f90->sourcefile~immersed_m.f90 sourcefile~initialise_numerical_equilibrium.f90 initialise_numerical_equilibrium.f90 sourcefile~initialise_numerical_equilibrium.f90->sourcefile~numerical_equilibrium_m.f90 sourcefile~initialise_numerical_equilibrium.f90->sourcefile~polygon_m.f90 sourcefile~mesh_cart_build_s.f90 mesh_cart_build_s.f90 sourcefile~mesh_cart_build_s.f90->sourcefile~constants_m.f90 sourcefile~mesh_cart_build_s.f90->sourcefile~list_operations_m.f90 sourcefile~mesh_cart_build_s.f90->sourcefile~mesh_cart_m.f90 sourcefile~mesh_cart_build_s.f90->sourcefile~screen_io_m.f90 sourcefile~mesh_cart_communicate_s.f90 mesh_cart_communicate_s.f90 sourcefile~mesh_cart_communicate_s.f90->sourcefile~mesh_cart_m.f90 sourcefile~mesh_cart_communicate_s.f90->sourcefile~mpi_mapping_auxiliaries_m.f90 sourcefile~mesh_cart_netcdfio_s.f90 mesh_cart_netcdfio_s.f90 sourcefile~mesh_cart_netcdfio_s.f90->sourcefile~mesh_cart_m.f90 sourcefile~mesh_cart_netcdfio_s.f90->sourcefile~screen_io_m.f90 sourcefile~mesh_cart_reorder_s.f90 mesh_cart_reorder_s.f90 sourcefile~mesh_cart_reorder_s.f90->sourcefile~mesh_cart_m.f90 sourcefile~mesh_cart_reorder_s.f90->sourcefile~screen_io_m.f90 sourcefile~mesh_cart_s.f90 mesh_cart_s.f90 sourcefile~mesh_cart_s.f90->sourcefile~list_operations_m.f90 sourcefile~mesh_cart_s.f90->sourcefile~mesh_cart_m.f90 sourcefile~mesh_cart_s.f90->sourcefile~screen_io_m.f90 sourcefile~multigrid_s.f90 multigrid_s.f90 sourcefile~multigrid_s.f90->sourcefile~multigrid_m.f90 sourcefile~multigrid_s.f90->sourcefile~screen_io_m.f90 sourcefile~multigrid_solver_s.f90 multigrid_solver_s.f90 sourcefile~multigrid_solver_s.f90->sourcefile~boundaries_perp.f90 sourcefile~multigrid_solver_s.f90->sourcefile~error_handling_m.f90 sourcefile~multigrid_solver_s.f90->sourcefile~multigrid_solver_m.f90 sourcefile~multigrid_solver_s.f90->sourcefile~screen_io_m.f90 sourcefile~parbnd_taylor_netcdf_s.f90 parbnd_taylor_netcdf_s.f90 sourcefile~parbnd_taylor_netcdf_s.f90->sourcefile~error_handling_m.f90 sourcefile~parbnd_taylor_netcdf_s.f90->sourcefile~parbnd_taylor_m.f90 sourcefile~polar_grid_s.f90 polar_grid_s.f90 sourcefile~polar_grid_s.f90->sourcefile~polar_grid_m.f90 sourcefile~polar_grid_s.f90->sourcefile~screen_io_m.f90 sourcefile~solver3d_cerfacs_s.f90 solver3d_CERFACS_s.f90 sourcefile~solver3d_cerfacs_s.f90->sourcefile~solver3d_m.f90 sourcefile~solver3d_factory_m.f90 solver3d_factory_m.f90 sourcefile~solver3d_factory_m.f90->sourcefile~error_handling_m.f90 sourcefile~solver3d_factory_m.f90->sourcefile~solver3d_m.f90 sourcefile~solver3d_pim_s.f90 solver3d_PIM_s.f90 sourcefile~solver3d_pim_s.f90->sourcefile~solver3d_m.f90 sourcefile~splitting_gauss_seidel_cpu_s.f90 splitting_gauss_seidel_cpu_s.f90 sourcefile~splitting_gauss_seidel_cpu_s.f90->sourcefile~splitting_m.f90 sourcefile~splitting_gauss_seidel_redblack_cpu_s.f90 splitting_gauss_seidel_redblack_cpu_s.f90 sourcefile~splitting_gauss_seidel_redblack_cpu_s.f90->sourcefile~screen_io_m.f90 sourcefile~splitting_gauss_seidel_redblack_cpu_s.f90->sourcefile~splitting_m.f90 sourcefile~splitting_jacobi_cpu_s.f90 splitting_jacobi_cpu_s.f90 sourcefile~splitting_jacobi_cpu_s.f90->sourcefile~splitting_m.f90

Source Code

module precision_m
    !! Definition of precision
    use mpi
    use netcdf
    use, intrinsic :: iso_fortran_env, only: REAL32,REAL64,INT32,INT64
    use, intrinsic :: iso_c_binding

    implicit none
    save

    integer, public, parameter :: SP = REAL32
    !! Single precision
    integer, public, parameter :: DP = REAL64
    !! Double precision

    real(kind = SP), public, parameter :: SP_EPS = epsilon(0.0_SP)
    !! Machine epsilon for single precision
    real(kind = DP), public, parameter :: DP_EPS = epsilon(0.0_DP)
    !! Machine epsilon for double precision

    real(kind = SP), parameter :: SP_NAN =  transfer(-4194304_int32, 1._SP)
    !! NaN for single precision
    real(kind = DP), public, parameter :: DP_NAN = transfer(-2251799813685248_int64, 1._DP)
    !! NaN for double precision

    real(kind = SP), parameter :: SP_SMALLEST_EXP = log(tiny(1._SP))
    !! Smallest allowable exponent for the exp function for single precision
    real(kind = DP), parameter :: DP_SMALLEST_EXP = log(tiny(1._DP))
    !! Smallest allowable exponent for the exp function for double precision

    real(kind = SP), parameter :: SP_LARGEST = huge(1._SP)
    !! Largest allowable number for single precision
    real(kind = DP), parameter :: DP_LARGEST = huge(1._DP)
    !! Largest allowable number for double precision

    ! define PARALLAX precision
#ifdef DOUBLE_PREC
    integer, public, parameter :: FP = DP
    !! PARALLAX Fortran precision
    integer, public, parameter :: CP = C_DOUBLE
    !! PARALLAX C/C++ precision
    integer, public, parameter :: MPI_FP = MPI_DOUBLE
    !! PARALLAX precision for MPI
    integer, public, parameter :: NF90_FP = NF90_DOUBLE
    !! PARALLAX precision for NetCDF
    real(kind = FP), public, parameter :: FP_EPS = DP_EPS
    !! Machine epsilon for PARALLAX precision
    real(kind = FP), public, parameter :: FP_NAN = DP_NAN
    !! NaN for PARALLAX precision
    real(kind = FP), parameter :: FP_SMALLEST_EXP = DP_SMALLEST_EXP
    !! Smallest allowable exponent for the exp function for PARALLAX precision
    real(kind = FP), parameter :: FP_LARGEST = DP_LARGEST
    !! Largest allowable number for PARALLAX precision
#else
    integer, public, parameter :: FP = SP
    !! PARALLAX Fortran precision
    integer, public, parameter :: CP = C_FLOAT
    !! PARALLAX C/C++ precision
    integer, public, parameter :: MPI_FP = MPI_FLOAT
    !! PARALLAX precision for MPI
    integer, public, parameter :: NF90_FP = NF90_FLOAT
    !! PARALLAX precision for NetCDF
    real(kind = FP), public, parameter :: FP_EPS = SP_EPS
    !! Machine epsilon for PARALLAX precision
    real(kind = FP), public, parameter :: FP_NAN = SP_NAN
    !! NaN for PARALLAX precision
    real(kind = FP), parameter :: FP_SMALLEST_EXP = SP_SMALLEST_EXP
    !! Smallest allowable exponent for the exp function for PARALLAX precision
    real(kind = FP), parameter :: FP_LARGEST = SP_LARGEST
    !! Largest allowable number for PARALLAX precision
#endif

end module precision_m