mod_global_parameters Module

This module contains definitions of global parameters and variables and some generic functions/subroutines used in AMRVAC.


Uses

  • module~~mod_global_parameters~~UsesGraph module~mod_global_parameters mod_global_parameters module~mod_basic_types mod_basic_types module~mod_global_parameters->module~mod_basic_types module~mod_connectivity mod_connectivity module~mod_global_parameters->module~mod_connectivity module~mod_constants mod_constants module~mod_global_parameters->module~mod_constants module~mod_physicaldata mod_physicaldata module~mod_global_parameters->module~mod_physicaldata module~mod_variables mod_variables module~mod_global_parameters->module~mod_variables mpi mpi module~mod_global_parameters->mpi module~mod_variables->module~mod_basic_types

Used by

  • module~~mod_global_parameters~~UsedByGraph module~mod_global_parameters mod_global_parameters module~mod_amrvac mod_amrvac module~mod_amrvac->module~mod_global_parameters module~mod_bc_data mod_bc_data module~mod_bc_data->module~mod_global_parameters module~mod_coarsen mod_coarsen module~mod_coarsen->module~mod_global_parameters module~mod_collapse mod_collapse module~mod_collapse->module~mod_global_parameters module~mod_con2prim mod_con2prim module~mod_con2prim->module~mod_global_parameters module~mod_finite_volume_ffhd mod_finite_volume_ffhd module~mod_finite_volume_ffhd->module~mod_global_parameters module~mod_finite_volume_hd mod_finite_volume_hd module~mod_finite_volume_hd->module~mod_global_parameters module~mod_finite_volume_mhd mod_finite_volume_mhd module~mod_finite_volume_mhd->module~mod_global_parameters module~mod_finite_volume_srhd mod_finite_volume_srhd module~mod_finite_volume_srhd->module~mod_global_parameters module~mod_interpolation mod_interpolation module~mod_interpolation->module~mod_global_parameters module~mod_particle_base mod_particle_base module~mod_particle_base->module~mod_global_parameters module~mod_physics_vars_ffhd mod_physics_vars_ffhd module~mod_physics_vars_ffhd->module~mod_global_parameters module~mod_physics_vars_hd mod_physics_vars_hd module~mod_physics_vars_hd->module~mod_global_parameters module~mod_physics_vars_mhd mod_physics_vars_mhd module~mod_physics_vars_mhd->module~mod_global_parameters module~mod_physics_vars_srhd mod_physics_vars_srhd module~mod_physics_vars_srhd->module~mod_global_parameters module~mod_point_searching mod_point_searching module~mod_point_searching->module~mod_global_parameters module~mod_point_searching->module~mod_particle_base module~mod_radiative_cooling_ffhd mod_radiative_cooling_ffhd module~mod_radiative_cooling_ffhd->module~mod_global_parameters module~mod_radiative_cooling_hd mod_radiative_cooling_hd module~mod_radiative_cooling_hd->module~mod_global_parameters module~mod_radiative_cooling_mhd mod_radiative_cooling_mhd module~mod_radiative_cooling_mhd->module~mod_global_parameters module~mod_random_heating mod_random_heating module~mod_random_heating->module~mod_global_parameters module~mod_source_ffhd mod_source_ffhd module~mod_source_ffhd->module~mod_global_parameters module~mod_source_hd mod_source_hd module~mod_source_hd->module~mod_global_parameters module~mod_source_mhd mod_source_mhd module~mod_source_mhd->module~mod_global_parameters module~mod_source_srhd mod_source_srhd module~mod_source_srhd->module~mod_global_parameters module~mod_thermal_emission mod_thermal_emission module~mod_thermal_emission->module~mod_global_parameters proc~add_convert_method2 add_convert_method2 proc~add_convert_method2->module~mod_global_parameters proc~add_split_source add_split_source proc~add_split_source->module~mod_global_parameters proc~add_split_source~2 add_split_source proc~add_split_source~2->module~mod_global_parameters proc~add_split_source~3 add_split_source proc~add_split_source~3->module~mod_global_parameters proc~add_split_source~4 add_split_source proc~add_split_source~4->module~mod_global_parameters proc~add_sub_circ add_sub_circ proc~add_sub_circ->module~mod_global_parameters proc~addsource_compact~3 addsource_compact proc~addsource_compact~3->module~mod_global_parameters proc~addsource_compact~7 addsource_compact proc~addsource_compact~7->module~mod_global_parameters proc~addsource_local~3 addsource_local proc~addsource_local~3->module~mod_global_parameters proc~addsource_local~7 addsource_local proc~addsource_local~7->module~mod_global_parameters proc~addsource_nonlocal~2 addsource_nonlocal proc~addsource_nonlocal~2->module~mod_global_parameters proc~addsource_nonlocal~8 addsource_nonlocal proc~addsource_nonlocal~8->module~mod_global_parameters proc~advance advance proc~advance->module~mod_global_parameters module~mod_particles mod_particles proc~advance->module~mod_particles proc~advance_particles advance_particles proc~advance_particles->module~mod_global_parameters proc~advect advect proc~advect->module~mod_global_parameters proc~advect1 advect1 proc~advect1->module~mod_global_parameters proc~advect_create_particles advect_create_particles proc~advect_create_particles->module~mod_global_parameters proc~advect_fill_gridvars advect_fill_gridvars proc~advect_fill_gridvars->module~mod_global_parameters proc~advect_get_particle_dt advect_get_particle_dt proc~advect_get_particle_dt->module~mod_global_parameters proc~advect_init advect_init proc~advect_init->module~mod_global_parameters proc~advect_integrate_particles advect_integrate_particles proc~advect_integrate_particles->module~mod_global_parameters proc~advect_update_payload advect_update_payload proc~advect_update_payload->module~mod_global_parameters proc~alloc_geometry alloc_geometry proc~alloc_geometry->module~mod_global_parameters proc~alloc_node alloc_node proc~alloc_node->module~mod_global_parameters proc~alloc_node~2 alloc_node proc~alloc_node~2->module~mod_global_parameters proc~alloc_node~3 alloc_node proc~alloc_node~3->module~mod_global_parameters proc~alloc_node~4 alloc_node proc~alloc_node~4->module~mod_global_parameters proc~alloc_state alloc_state proc~alloc_state->module~mod_global_parameters proc~alloc_state_coarse alloc_state_coarse proc~alloc_state_coarse->module~mod_global_parameters proc~alloc_state_coarse~2 alloc_state_coarse proc~alloc_state_coarse~2->module~mod_global_parameters proc~alloc_state_coarse~3 alloc_state_coarse proc~alloc_state_coarse~3->module~mod_global_parameters proc~alloc_state_coarse~4 alloc_state_coarse proc~alloc_state_coarse~4->module~mod_global_parameters proc~alloc_state~2 alloc_state proc~alloc_state~2->module~mod_global_parameters proc~alloc_state~3 alloc_state proc~alloc_state~3->module~mod_global_parameters proc~alloc_state~4 alloc_state proc~alloc_state~4->module~mod_global_parameters proc~alloc_subnode alloc_subnode proc~alloc_subnode->module~mod_global_parameters proc~allocate_collapsed allocate_collapsed proc~allocate_collapsed->module~mod_global_parameters proc~already_fine already_fine proc~already_fine->module~mod_global_parameters proc~amr_coarsen_refine amr_coarsen_refine proc~amr_coarsen_refine->module~mod_global_parameters proc~amr_morton_order amr_Morton_order proc~amr_morton_order->module~mod_global_parameters proc~apply_periodb apply_periodB proc~apply_periodb->module~mod_global_parameters proc~asign_tree_neighbor asign_tree_neighbor proc~asign_tree_neighbor->module~mod_global_parameters proc~b_from_vector_potentiala b_from_vector_potentialA proc~b_from_vector_potentiala->module~mod_global_parameters proc~bc_data_init bc_data_init proc~bc_data_init->module~mod_global_parameters proc~bc_data_set bc_data_set proc~bc_data_set->module~mod_global_parameters proc~bc_phys bc_phys proc~bc_phys->module~mod_global_parameters proc~bc_read_params bc_read_params proc~bc_read_params->module~mod_global_parameters proc~block_shape_io block_shape_io proc~block_shape_io->module~mod_global_parameters proc~build_connectivity build_connectivity proc~build_connectivity->module~mod_global_parameters proc~build_message_layout build_message_layout proc~build_message_layout->module~mod_global_parameters proc~calc_grid calc_grid proc~calc_grid->module~mod_global_parameters proc~calc_x calc_x proc~calc_x->module~mod_global_parameters proc~check_pole_setup check_pole_setup proc~check_pole_setup->module~mod_global_parameters proc~coarsen_grid_siblings coarsen_grid_siblings proc~coarsen_grid_siblings->module~mod_global_parameters proc~coarsen_grid_siblings->module~mod_coarsen proc~collapse_subnode collapse_subnode proc~collapse_subnode->module~mod_global_parameters proc~comm_faces comm_faces proc~comm_faces->module~mod_global_parameters proc~comm_finalize comm_finalize proc~comm_finalize->module~mod_global_parameters proc~comm_particles comm_particles proc~comm_particles->module~mod_global_parameters proc~comm_particles_global comm_particles_global proc~comm_particles_global->module~mod_global_parameters proc~comm_start comm_start proc~comm_start->module~mod_global_parameters proc~convert_dat_generic convert_dat_generic proc~convert_dat_generic->module~mod_global_parameters proc~create_output_file create_output_file proc~create_output_file->module~mod_global_parameters proc~cross cross proc~cross->module~mod_global_parameters proc~curlvector curlvector proc~curlvector->module~mod_global_parameters proc~dealloc_node dealloc_node proc~dealloc_node->module~mod_global_parameters proc~dealloc_node~2 dealloc_node proc~dealloc_node~2->module~mod_global_parameters proc~dealloc_node~3 dealloc_node proc~dealloc_node~3->module~mod_global_parameters proc~dealloc_node~4 dealloc_node proc~dealloc_node~4->module~mod_global_parameters proc~dealloc_state dealloc_state proc~dealloc_state->module~mod_global_parameters proc~dealloc_state_coarse dealloc_state_coarse proc~dealloc_state_coarse->module~mod_global_parameters proc~dealloc_state_coarse~2 dealloc_state_coarse proc~dealloc_state_coarse~2->module~mod_global_parameters proc~dealloc_state_coarse~3 dealloc_state_coarse proc~dealloc_state_coarse~3->module~mod_global_parameters proc~dealloc_state_coarse~4 dealloc_state_coarse proc~dealloc_state_coarse~4->module~mod_global_parameters proc~dealloc_state~2 dealloc_state proc~dealloc_state~2->module~mod_global_parameters proc~dealloc_state~3 dealloc_state proc~dealloc_state~3->module~mod_global_parameters proc~dealloc_state~4 dealloc_state proc~dealloc_state~4->module~mod_global_parameters proc~dealloc_subnode dealloc_subnode proc~dealloc_subnode->module~mod_global_parameters proc~deallocatebfaces deallocateBfaces proc~deallocatebfaces->module~mod_global_parameters proc~derivs_advect derivs_advect proc~derivs_advect->module~mod_global_parameters proc~derivs_gca derivs_gca proc~derivs_gca->module~mod_global_parameters proc~derivs_gca_rk derivs_gca_rk proc~derivs_gca_rk->module~mod_global_parameters proc~destroy_particles destroy_particles proc~destroy_particles->module~mod_global_parameters proc~divvector divvector proc~divvector->module~mod_global_parameters proc~divvectors divvectorS proc~divvectors->module~mod_global_parameters proc~dummy_boundary_adjust dummy_boundary_adjust proc~dummy_boundary_adjust->module~mod_global_parameters proc~dummy_boundary_adjust~2 dummy_boundary_adjust proc~dummy_boundary_adjust~2->module~mod_global_parameters proc~dummy_boundary_adjust~3 dummy_boundary_adjust proc~dummy_boundary_adjust~3->module~mod_global_parameters proc~dummy_boundary_adjust~4 dummy_boundary_adjust proc~dummy_boundary_adjust~4->module~mod_global_parameters proc~dummy_evaluate_implicit dummy_evaluate_implicit proc~dummy_evaluate_implicit->module~mod_global_parameters proc~dummy_evaluate_implicit~2 dummy_evaluate_implicit proc~dummy_evaluate_implicit~2->module~mod_global_parameters proc~dummy_evaluate_implicit~3 dummy_evaluate_implicit proc~dummy_evaluate_implicit~3->module~mod_global_parameters proc~dummy_evaluate_implicit~4 dummy_evaluate_implicit proc~dummy_evaluate_implicit~4->module~mod_global_parameters proc~dummy_face_to_center dummy_face_to_center proc~dummy_face_to_center->module~mod_global_parameters proc~dummy_face_to_center~2 dummy_face_to_center proc~dummy_face_to_center~2->module~mod_global_parameters proc~dummy_face_to_center~3 dummy_face_to_center proc~dummy_face_to_center~3->module~mod_global_parameters proc~dummy_face_to_center~4 dummy_face_to_center proc~dummy_face_to_center~4->module~mod_global_parameters proc~dummy_implicit_update dummy_implicit_update proc~dummy_implicit_update->module~mod_global_parameters proc~dummy_implicit_update~2 dummy_implicit_update proc~dummy_implicit_update~2->module~mod_global_parameters proc~dummy_implicit_update~3 dummy_implicit_update proc~dummy_implicit_update~3->module~mod_global_parameters proc~dummy_implicit_update~4 dummy_implicit_update proc~dummy_implicit_update~4->module~mod_global_parameters proc~dummy_write_info dummy_write_info proc~dummy_write_info->module~mod_global_parameters proc~dummy_write_info~2 dummy_write_info proc~dummy_write_info~2->module~mod_global_parameters proc~dummy_write_info~3 dummy_write_info proc~dummy_write_info~3->module~mod_global_parameters proc~dummy_write_info~4 dummy_write_info proc~dummy_write_info~4->module~mod_global_parameters proc~dwlimiter2 dwlimiter2 proc~dwlimiter2->module~mod_global_parameters proc~end_comm_faces end_comm_faces proc~end_comm_faces->module~mod_global_parameters proc~errest errest proc~errest->module~mod_global_parameters proc~evaluate_implicit evaluate_implicit proc~evaluate_implicit->module~mod_global_parameters proc~exchange_coarsened_blocks exchange_coarsened_blocks proc~exchange_coarsened_blocks->module~mod_global_parameters proc~exchange_migrated_blocks exchange_migrated_blocks proc~exchange_migrated_blocks->module~mod_global_parameters proc~fake_advance fake_advance proc~fake_advance->module~mod_global_parameters proc~fake_update fake_update proc~fake_update->module~mod_global_parameters proc~fields_from_mhd fields_from_mhd proc~fields_from_mhd->module~mod_global_parameters proc~fill_boundary_after_gc fill_boundary_after_gc proc~fill_boundary_after_gc->module~mod_global_parameters proc~fill_boundary_before_gc fill_boundary_before_gc proc~fill_boundary_before_gc->module~mod_global_parameters proc~fill_coarse_boundary fill_coarse_boundary proc~fill_coarse_boundary->module~mod_global_parameters proc~fill_geometry_device fill_geometry_device proc~fill_geometry_device->module~mod_global_parameters proc~fill_geometry_device~2 fill_geometry_device proc~fill_geometry_device~2->module~mod_global_parameters proc~fill_geometry_device~3 fill_geometry_device proc~fill_geometry_device~3->module~mod_global_parameters proc~fill_geometry_device~4 fill_geometry_device proc~fill_geometry_device~4->module~mod_global_parameters proc~fill_gridvars_default fill_gridvars_default proc~fill_gridvars_default->module~mod_global_parameters proc~fill_nwextra_device fill_nwextra_device proc~fill_nwextra_device->module~mod_global_parameters proc~fill_subnode fill_subnode proc~fill_subnode->module~mod_global_parameters proc~fill_subnode_info fill_subnode_info proc~fill_subnode_info->module~mod_global_parameters proc~find_neighbor find_neighbor proc~find_neighbor->module~mod_global_parameters proc~find_particle_ipe find_particle_ipe proc~find_particle_ipe->module~mod_global_parameters proc~find_root_neighbor find_root_neighbor proc~find_root_neighbor->module~mod_global_parameters proc~finish_gridvars finish_gridvars proc~finish_gridvars->module~mod_global_parameters proc~finite_volume_local finite_volume_local proc~finite_volume_local->module~mod_global_parameters proc~finite_volume_local_muscl_hll finite_volume_local_muscl_hll proc~finite_volume_local_muscl_hll->module~mod_global_parameters proc~finite_volume_local_muscl_hllc finite_volume_local_muscl_hllc proc~finite_volume_local_muscl_hllc->module~mod_global_parameters proc~finite_volume_local_muscl_hllc~2 finite_volume_local_muscl_hllc proc~finite_volume_local_muscl_hllc~2->module~mod_global_parameters proc~finite_volume_local_muscl_hllc~3 finite_volume_local_muscl_hllc proc~finite_volume_local_muscl_hllc~3->module~mod_global_parameters proc~finite_volume_local_muscl_hllc~4 finite_volume_local_muscl_hllc proc~finite_volume_local_muscl_hllc~4->module~mod_global_parameters proc~finite_volume_local_muscl_hll~2 finite_volume_local_muscl_hll proc~finite_volume_local_muscl_hll~2->module~mod_global_parameters proc~finite_volume_local_muscl_hll~3 finite_volume_local_muscl_hll proc~finite_volume_local_muscl_hll~3->module~mod_global_parameters proc~finite_volume_local_muscl_hll~4 finite_volume_local_muscl_hll proc~finite_volume_local_muscl_hll~4->module~mod_global_parameters proc~finite_volume_local_muscl_llf finite_volume_local_muscl_llf proc~finite_volume_local_muscl_llf->module~mod_global_parameters proc~finite_volume_local_muscl_llf~2 finite_volume_local_muscl_llf proc~finite_volume_local_muscl_llf~2->module~mod_global_parameters proc~finite_volume_local_muscl_llf~3 finite_volume_local_muscl_llf proc~finite_volume_local_muscl_llf~3->module~mod_global_parameters proc~finite_volume_local_muscl_llf~4 finite_volume_local_muscl_llf proc~finite_volume_local_muscl_llf~4->module~mod_global_parameters proc~finite_volume_local~2 finite_volume_local proc~finite_volume_local~2->module~mod_global_parameters proc~finite_volume_local~3 finite_volume_local proc~finite_volume_local~3->module~mod_global_parameters proc~finite_volume_local~4 finite_volume_local proc~finite_volume_local~4->module~mod_global_parameters proc~fix_conserve fix_conserve proc~fix_conserve->module~mod_global_parameters proc~fix_edges fix_edges proc~fix_edges->module~mod_global_parameters proc~fix_phi_crossing fix_phi_crossing proc~fix_phi_crossing->module~mod_global_parameters proc~fixgrid fixgrid proc~fixgrid->module~mod_global_parameters proc~flux_to_edge flux_to_edge proc~flux_to_edge->module~mod_global_parameters proc~forcedrefine_grid forcedrefine_grid proc~forcedrefine_grid->module~mod_global_parameters proc~forcedrefine_grid_io forcedrefine_grid_io proc~forcedrefine_grid_io->module~mod_global_parameters proc~gather_isafety gather_isafety proc~gather_isafety->module~mod_global_parameters proc~gca_create_particles gca_create_particles proc~gca_create_particles->module~mod_global_parameters proc~gca_fill_gridvars gca_fill_gridvars proc~gca_fill_gridvars->module~mod_global_parameters proc~gca_get_particle_dt gca_get_particle_dt proc~gca_get_particle_dt->module~mod_global_parameters proc~gca_init gca_init proc~gca_init->module~mod_global_parameters proc~gca_integrate_particles gca_integrate_particles proc~gca_integrate_particles->module~mod_global_parameters proc~gca_update_payload gca_update_payload proc~gca_update_payload->module~mod_global_parameters proc~generate_plotfile generate_plotfile proc~generate_plotfile->module~mod_global_parameters proc~generate_plotfile->module~mod_thermal_emission proc~get_bfield get_bfield proc~get_bfield->module~mod_global_parameters proc~get_current get_current proc~get_current->module~mod_global_parameters proc~get_divb get_divb proc~get_divb->module~mod_global_parameters proc~get_efield get_efield proc~get_efield->module~mod_global_parameters proc~get_euv get_EUV proc~get_euv->module~mod_global_parameters proc~get_euv_image get_EUV_image proc~get_euv_image->module~mod_global_parameters proc~get_euv_spectrum get_EUV_spectrum proc~get_euv_spectrum->module~mod_global_parameters proc~get_flux get_flux proc~get_flux->module~mod_global_parameters proc~get_flux~3 get_flux proc~get_flux~3->module~mod_global_parameters proc~get_global_maxima get_global_maxima proc~get_global_maxima->module~mod_global_parameters proc~get_global_minima get_global_minima proc~get_global_minima->module~mod_global_parameters proc~get_goes_flux_grid get_GOES_flux_grid proc~get_goes_flux_grid->module~mod_global_parameters proc~get_goes_sxr_flux get_GOES_SXR_flux proc~get_goes_sxr_flux->module~mod_global_parameters proc~get_igslice get_igslice proc~get_igslice->module~mod_global_parameters proc~get_image get_image proc~get_image->module~mod_global_parameters proc~get_image_datresol get_image_datresol proc~get_image_datresol->module~mod_global_parameters proc~get_level_range get_level_range proc~get_level_range->module~mod_global_parameters proc~get_lfac get_lfac proc~get_lfac->module~mod_global_parameters proc~get_lfac_from_velocity get_lfac_from_velocity proc~get_lfac_from_velocity->module~mod_global_parameters proc~get_line_info get_line_info proc~get_line_info->module~mod_global_parameters proc~get_morton_range get_Morton_range proc~get_morton_range->module~mod_global_parameters proc~get_morton_range_active get_Morton_range_active proc~get_morton_range_active->module~mod_global_parameters proc~get_names_from_string get_names_from_string proc~get_names_from_string->module~mod_global_parameters proc~get_sxr get_SXR proc~get_sxr->module~mod_global_parameters proc~get_sxr_image get_SXR_image proc~get_sxr_image->module~mod_global_parameters proc~get_uniform_pos get_uniform_pos proc~get_uniform_pos->module~mod_global_parameters proc~get_vec get_vec proc~get_vec->module~mod_global_parameters proc~get_vec_advect get_vec_advect proc~get_vec_advect->module~mod_global_parameters proc~get_volume_average get_volume_average proc~get_volume_average->module~mod_global_parameters proc~get_volume_average_func get_volume_average_func proc~get_volume_average_func->module~mod_global_parameters proc~get_volume_coverage get_volume_coverage proc~get_volume_coverage->module~mod_global_parameters proc~get_whitelight_image get_whitelight_image proc~get_whitelight_image->module~mod_global_parameters proc~getbc getbc proc~getbc->module~mod_global_parameters proc~getbc->module~mod_coarsen proc~getheadernames getheadernames proc~getheadernames->module~mod_global_parameters proc~getigrids getigrids proc~getigrids->module~mod_global_parameters proc~getintbc getintbc proc~getintbc->module~mod_global_parameters proc~getnode getnode proc~getnode->module~mod_global_parameters proc~getnode~2 getnode proc~getnode~2->module~mod_global_parameters proc~getnode~3 getnode proc~getnode~3->module~mod_global_parameters proc~getnode~4 getnode proc~getnode~4->module~mod_global_parameters proc~getvar_cooling_exact getvar_cooling_exact proc~getvar_cooling_exact->module~mod_global_parameters proc~getvar_cooling_exact~2 getvar_cooling_exact proc~getvar_cooling_exact~2->module~mod_global_parameters proc~getvar_cooling_exact~3 getvar_cooling_exact proc~getvar_cooling_exact~3->module~mod_global_parameters proc~global_implicit_update global_implicit_update proc~global_implicit_update->module~mod_global_parameters proc~gradient gradient proc~gradient->module~mod_global_parameters proc~handle_particles handle_particles proc~handle_particles->module~mod_global_parameters proc~identifyphysbound_connectivity identifyphysbound_connectivity proc~identifyphysbound_connectivity->module~mod_global_parameters proc~igrid_active igrid_active proc~igrid_active->module~mod_global_parameters proc~imagedatavtk_mpi ImageDataVtk_mpi proc~imagedatavtk_mpi->module~mod_global_parameters proc~improve_initial_condition improve_initial_condition proc~improve_initial_condition->module~mod_global_parameters proc~init_bc init_bc proc~init_bc->module~mod_global_parameters proc~init_comm_fix_conserve init_comm_fix_conserve proc~init_comm_fix_conserve->module~mod_global_parameters proc~init_comm_types init_comm_types proc~init_comm_types->module~mod_global_parameters proc~init_forest_root init_forest_root proc~init_forest_root->module~mod_global_parameters proc~init_gridvars init_gridvars proc~init_gridvars->module~mod_global_parameters proc~init_particles_com init_particles_com proc~init_particles_com->module~mod_global_parameters proc~init_particles_output init_particles_output proc~init_particles_output->module~mod_global_parameters proc~initial_condition initial_condition proc~initial_condition->module~mod_global_parameters proc~initialize_amrvac initialize_amrvac proc~initialize_amrvac->module~mod_global_parameters proc~initialize_amrvac->module~mod_bc_data proc~initialize_vars initialize_vars proc~initialize_vars->module~mod_global_parameters proc~initlevelone initlevelone proc~initlevelone->module~mod_global_parameters proc~integrate_euv_datresol integrate_EUV_datresol proc~integrate_euv_datresol->module~mod_global_parameters proc~integrate_subnode integrate_subnode proc~integrate_subnode->module~mod_global_parameters proc~integrate_sxr_datresol integrate_SXR_datresol proc~integrate_sxr_datresol->module~mod_global_parameters proc~interpolate_var interpolate_var proc~interpolate_var->module~mod_global_parameters proc~ipe_cf ipe_cf proc~ipe_cf->module~mod_global_parameters proc~ipe_fc ipe_fc proc~ipe_fc->module~mod_global_parameters proc~ipe_srl ipe_srl proc~ipe_srl->module~mod_global_parameters proc~layout_runs layout_runs proc~layout_runs->module~mod_global_parameters proc~lb_recv lb_recv proc~lb_recv->module~mod_global_parameters proc~lb_send lb_send proc~lb_send->module~mod_global_parameters proc~level1_morton_order level1_Morton_order proc~level1_morton_order->module~mod_global_parameters proc~load_balance load_balance proc~load_balance->module~mod_global_parameters proc~locate_particle locate_particle proc~locate_particle->module~mod_global_parameters proc~lohner_grid lohner_grid proc~lohner_grid->module~mod_global_parameters proc~lorentz_create_particles Lorentz_create_particles proc~lorentz_create_particles->module~mod_global_parameters proc~lorentz_fill_gridvars lorentz_fill_gridvars proc~lorentz_fill_gridvars->module~mod_global_parameters proc~lorentz_get_particle_dt Lorentz_get_particle_dt proc~lorentz_get_particle_dt->module~mod_global_parameters proc~lorentz_init Lorentz_init proc~lorentz_init->module~mod_global_parameters proc~lorentz_integrate_particles Lorentz_integrate_particles proc~lorentz_integrate_particles->module~mod_global_parameters proc~lorentz_kick Lorentz_kick proc~lorentz_kick->module~mod_global_parameters proc~lorentz_update_payload Lorentz_update_payload proc~lorentz_update_payload->module~mod_global_parameters proc~main main proc~main->module~mod_global_parameters proc~main->module~mod_particles proc~make_particle_filename make_particle_filename proc~make_particle_filename->module~mod_global_parameters proc~mg_copy_boundary_conditions mg_copy_boundary_conditions proc~mg_copy_boundary_conditions->module~mod_global_parameters proc~mg_copy_from_tree mg_copy_from_tree proc~mg_copy_from_tree->module~mod_global_parameters proc~mg_copy_from_tree_gc mg_copy_from_tree_gc proc~mg_copy_from_tree_gc->module~mod_global_parameters proc~mg_copy_to_tree mg_copy_to_tree proc~mg_copy_to_tree->module~mod_global_parameters proc~mg_setup_multigrid mg_setup_multigrid proc~mg_setup_multigrid->module~mod_global_parameters proc~mg_tree_from_amrvac mg_tree_from_amrvac proc~mg_tree_from_amrvac->module~mod_global_parameters proc~mg_update_refinement mg_update_refinement proc~mg_update_refinement->module~mod_global_parameters proc~modify_ic modify_IC proc~modify_ic->module~mod_global_parameters proc~mpistop mpistop proc~mpistop->module~mod_global_parameters proc~mpistop_gpu mpistop_gpu proc~mpistop_gpu->module~mod_global_parameters proc~old_neighbors old_neighbors proc~old_neighbors->module~mod_global_parameters proc~oneblock oneblock proc~oneblock->module~mod_global_parameters proc~onegrid onegrid proc~onegrid->module~mod_global_parameters proc~output_collapsed_csv output_collapsed_csv proc~output_collapsed_csv->module~mod_global_parameters proc~output_collapsed_vti output_collapsed_vti proc~output_collapsed_vti->module~mod_global_parameters proc~output_data output_data proc~output_data->module~mod_global_parameters proc~output_ensemble output_ensemble proc~output_ensemble->module~mod_global_parameters proc~output_individual output_individual proc~output_individual->module~mod_global_parameters proc~output_particle output_particle proc~output_particle->module~mod_global_parameters proc~partcoord_from_cartesian partcoord_from_cartesian proc~partcoord_from_cartesian->module~mod_global_parameters proc~partcoord_to_cartesian partcoord_to_cartesian proc~partcoord_to_cartesian->module~mod_global_parameters proc~particle_base_init particle_base_init proc~particle_base_init->module~mod_global_parameters proc~particle_get_current particle_get_current proc~particle_get_current->module~mod_global_parameters proc~particle_in_domain particle_in_domain proc~particle_in_domain->module~mod_global_parameters proc~particle_in_igrid particle_in_igrid proc~particle_in_igrid->module~mod_global_parameters proc~particles_create particles_create proc~particles_create->module~mod_global_parameters proc~particles_finish particles_finish proc~particles_finish->module~mod_global_parameters proc~particles_init particles_init proc~particles_init->module~mod_global_parameters proc~particles_params_read particles_params_read proc~particles_params_read->module~mod_global_parameters proc~partvec_from_cartesian partvec_from_cartesian proc~partvec_from_cartesian->module~mod_global_parameters proc~partvec_to_cartesian partvec_to_cartesian proc~partvec_to_cartesian->module~mod_global_parameters proc~phys_get_dt~2 phys_get_dt proc~phys_get_dt~2->module~mod_global_parameters proc~phys_init phys_init proc~phys_init->module~mod_global_parameters proc~phys_init~2 phys_init proc~phys_init~2->module~mod_global_parameters proc~phys_init~3 phys_init proc~phys_init~3->module~mod_global_parameters proc~phys_init~4 phys_init proc~phys_init~4->module~mod_global_parameters proc~phys_to_conserved phys_to_conserved proc~phys_to_conserved->module~mod_global_parameters proc~phys_to_conserved~2 phys_to_conserved proc~phys_to_conserved~2->module~mod_global_parameters proc~phys_to_conserved~3 phys_to_conserved proc~phys_to_conserved~3->module~mod_global_parameters proc~phys_to_conserved~4 phys_to_conserved proc~phys_to_conserved~4->module~mod_global_parameters proc~phys_to_primitive phys_to_primitive proc~phys_to_primitive->module~mod_global_parameters proc~phys_to_primitive~2 phys_to_primitive proc~phys_to_primitive~2->module~mod_global_parameters proc~phys_to_primitive~3 phys_to_primitive proc~phys_to_primitive~3->module~mod_global_parameters proc~phys_to_primitive~4 phys_to_primitive proc~phys_to_primitive~4->module~mod_global_parameters proc~phys_units phys_units proc~phys_units->module~mod_global_parameters proc~phys_units~2 phys_units proc~phys_units~2->module~mod_global_parameters proc~phys_units~3 phys_units proc~phys_units~3->module~mod_global_parameters proc~phys_units~4 phys_units proc~phys_units~4->module~mod_global_parameters proc~point_at_geometry point_at_geometry proc~point_at_geometry->module~mod_global_parameters proc~point_at_geometry~2 point_at_geometry proc~point_at_geometry~2->module~mod_global_parameters proc~point_at_geometry~3 point_at_geometry proc~point_at_geometry~3->module~mod_global_parameters proc~point_at_geometry~4 point_at_geometry proc~point_at_geometry~4->module~mod_global_parameters proc~point_in_igrid_ghostc point_in_igrid_ghostc proc~point_in_igrid_ghostc->module~mod_global_parameters proc~printlog_default printlog_default proc~printlog_default->module~mod_global_parameters proc~printlog_regression_test printlog_regression_test proc~printlog_regression_test->module~mod_global_parameters proc~process process proc~process->module~mod_global_parameters proc~process_advanced process_advanced proc~process_advanced->module~mod_global_parameters proc~prolong_1st prolong_1st proc~prolong_1st->module~mod_global_parameters proc~prolong_2nd prolong_2nd proc~prolong_2nd->module~mod_global_parameters proc~prolong_2nd_stg prolong_2nd_stg proc~prolong_2nd_stg->module~mod_global_parameters proc~prolong_grid prolong_grid proc~prolong_grid->module~mod_global_parameters proc~proper_nesting proper_nesting proc~proper_nesting->module~mod_global_parameters proc~punstructuredvtk_mpi punstructuredvtk_mpi proc~punstructuredvtk_mpi->module~mod_global_parameters proc~punstructuredvtkb_mpi punstructuredvtkB_mpi proc~punstructuredvtkb_mpi->module~mod_global_parameters proc~put_collapse put_collapse proc~put_collapse->module~mod_global_parameters proc~put_slice put_slice proc~put_slice->module~mod_global_parameters proc~r_of_s r_of_s proc~r_of_s->module~mod_global_parameters proc~radiative_cooling_init radiative_cooling_init proc~radiative_cooling_init->module~mod_global_parameters proc~radiative_cooling_init_params radiative_cooling_init_params proc~radiative_cooling_init_params->module~mod_global_parameters proc~radiative_cooling_init_params~2 radiative_cooling_init_params proc~radiative_cooling_init_params~2->module~mod_global_parameters proc~radiative_cooling_init_params~3 radiative_cooling_init_params proc~radiative_cooling_init_params~3->module~mod_global_parameters proc~radiative_cooling_init~2 radiative_cooling_init proc~radiative_cooling_init~2->module~mod_global_parameters proc~radiative_cooling_init~3 radiative_cooling_init proc~radiative_cooling_init~3->module~mod_global_parameters proc~read_arguments read_arguments proc~read_arguments->module~mod_global_parameters proc~read_data_init read_data_init proc~read_data_init->module~mod_global_parameters proc~read_data_set read_data_set proc~read_data_set->module~mod_global_parameters proc~read_forest read_forest proc~read_forest->module~mod_global_parameters proc~read_oneblock read_oneblock proc~read_oneblock->module~mod_global_parameters proc~read_par_files read_par_files proc~read_par_files->module~mod_global_parameters proc~read_params read_params proc~read_params->module~mod_global_parameters proc~read_params~2 read_params proc~read_params~2->module~mod_global_parameters proc~read_params~3 read_params proc~read_params~3->module~mod_global_parameters proc~read_params~4 read_params proc~read_params~4->module~mod_global_parameters proc~read_particles_snapshot read_particles_snapshot proc~read_particles_snapshot->module~mod_global_parameters proc~read_snapshot read_snapshot proc~read_snapshot->module~mod_global_parameters proc~read_snapshot_old read_snapshot_old proc~read_snapshot_old->module~mod_global_parameters proc~recalculateb recalculateB proc~recalculateb->module~mod_global_parameters proc~reconstruct reconstruct proc~reconstruct->module~mod_global_parameters proc~recvflux recvflux proc~recvflux->module~mod_global_parameters proc~refine_grids refine_grids proc~refine_grids->module~mod_global_parameters proc~refine_tree_leaf refine_tree_leaf proc~refine_tree_leaf->module~mod_global_parameters proc~resettree resettree proc~resettree->module~mod_global_parameters proc~resettree->module~mod_particles proc~resettree_convert resettree_convert proc~resettree_convert->module~mod_global_parameters proc~rh_init rh_init proc~rh_init->module~mod_global_parameters proc~rh_read_params rh_read_params proc~rh_read_params->module~mod_global_parameters proc~rh_source rh_source proc~rh_source->module~mod_global_parameters proc~s_of_r s_of_r proc~s_of_r->module~mod_global_parameters proc~sample_create_particles sample_create_particles proc~sample_create_particles->module~mod_global_parameters proc~sample_fill_gridvars sample_fill_gridvars proc~sample_fill_gridvars->module~mod_global_parameters proc~sample_get_particle_dt sample_get_particle_dt proc~sample_get_particle_dt->module~mod_global_parameters proc~sample_init sample_init proc~sample_init->module~mod_global_parameters proc~sample_integrate_particles sample_integrate_particles proc~sample_integrate_particles->module~mod_global_parameters proc~sample_update_payload sample_update_payload proc~sample_update_payload->module~mod_global_parameters proc~save_conntec save_conntec proc~save_conntec->module~mod_global_parameters proc~save_connvtk save_connvtk proc~save_connvtk->module~mod_global_parameters proc~saveamrfile saveamrfile proc~saveamrfile->module~mod_global_parameters proc~saveamrfile->module~mod_collapse proc~saveamrfile->module~mod_particles proc~select_active_particles select_active_particles proc~select_active_particles->module~mod_global_parameters proc~select_slice select_slice proc~select_slice->module~mod_global_parameters proc~selectgrids selectgrids proc~selectgrids->module~mod_global_parameters proc~sendflux sendflux proc~sendflux->module~mod_global_parameters proc~set_b0_cell set_B0_cell proc~set_b0_cell->module~mod_global_parameters proc~set_b0_face set_B0_face proc~set_b0_face->module~mod_global_parameters proc~set_b0_grid set_B0_grid proc~set_b0_grid->module~mod_global_parameters proc~set_coordinate_system set_coordinate_system proc~set_coordinate_system->module~mod_global_parameters proc~set_geometry_index_ranges set_geometry_index_ranges proc~set_geometry_index_ranges->module~mod_global_parameters proc~set_ix_circ set_ix_circ proc~set_ix_circ->module~mod_global_parameters proc~set_j0_cell set_J0_cell proc~set_j0_cell->module~mod_global_parameters proc~set_neighbor_ipe set_neighbor_ipe proc~set_neighbor_ipe->module~mod_global_parameters proc~set_pole set_pole proc~set_pole->module~mod_global_parameters proc~setdt setdt proc~setdt->module~mod_global_parameters proc~setdt~2 setdt proc~setdt~2->module~mod_global_parameters proc~setdt~3 setdt proc~setdt~3->module~mod_global_parameters proc~setdt~4 setdt proc~setdt~4->module~mod_global_parameters proc~settree settree proc~settree->module~mod_global_parameters proc~snapshot_exists snapshot_exists proc~snapshot_exists->module~mod_global_parameters proc~snapshot_read_header snapshot_read_header proc~snapshot_read_header->module~mod_global_parameters proc~snapshot_write_header snapshot_write_header proc~snapshot_write_header->module~mod_global_parameters proc~snapshot_write_header1 snapshot_write_header1 proc~snapshot_write_header1->module~mod_global_parameters proc~store_edge store_edge proc~store_edge->module~mod_global_parameters proc~store_faces store_faces proc~store_faces->module~mod_global_parameters proc~store_flux store_flux proc~store_flux->module~mod_global_parameters proc~sync_geometry_host sync_geometry_host proc~sync_geometry_host->module~mod_global_parameters proc~sync_positions_host sync_positions_host proc~sync_positions_host->module~mod_global_parameters proc~tecplot tecplot proc~tecplot->module~mod_global_parameters proc~tecplot_mpi tecplot_mpi proc~tecplot_mpi->module~mod_global_parameters proc~time_spent_on_particles time_spent_on_particles proc~time_spent_on_particles->module~mod_global_parameters proc~timeintegration timeintegration proc~timeintegration->module~mod_global_parameters proc~timeintegration->module~mod_particles proc~timetosave timetosave proc~timetosave->module~mod_global_parameters proc~to_cartesian to_cartesian proc~to_cartesian->module~mod_global_parameters proc~unstructuredvtk unstructuredvtk proc~unstructuredvtk->module~mod_global_parameters proc~unstructuredvtk_mpi unstructuredvtk_mpi proc~unstructuredvtk_mpi->module~mod_global_parameters proc~unstructuredvtkb unstructuredvtkB proc~unstructuredvtkb->module~mod_global_parameters proc~unstructuredvtkb64 unstructuredvtkB64 proc~unstructuredvtkb64->module~mod_global_parameters proc~update_gridvars update_gridvars proc~update_gridvars->module~mod_global_parameters proc~write_collapsed write_collapsed proc~write_collapsed->module~mod_global_parameters proc~write_forest write_forest proc~write_forest->module~mod_global_parameters proc~write_image_vticc write_image_vtiCC proc~write_image_vticc->module~mod_global_parameters proc~write_image_vtucc write_image_vtuCC proc~write_image_vtucc->module~mod_global_parameters proc~write_particle_output write_particle_output proc~write_particle_output->module~mod_global_parameters proc~write_particles_snapshot write_particles_snapshot proc~write_particles_snapshot->module~mod_global_parameters proc~write_pvtu write_pvtu proc~write_pvtu->module~mod_global_parameters proc~write_slice write_slice proc~write_slice->module~mod_global_parameters proc~write_snapshot write_snapshot proc~write_snapshot->module~mod_global_parameters proc~write_vti write_vti proc~write_vti->module~mod_global_parameters proc~write_vtk write_vtk proc~write_vtk->module~mod_global_parameters module~mod_particle_advect mod_particle_advect module~mod_particle_advect->module~mod_particle_base module~mod_particle_gca mod_particle_gca module~mod_particle_gca->module~mod_particle_base module~mod_particle_lorentz mod_particle_lorentz module~mod_particle_lorentz->module~mod_particle_base module~mod_particle_sample mod_particle_sample module~mod_particle_sample->module~mod_particle_base module~mod_particles->module~mod_particle_base module~mod_particles->module~mod_particle_advect module~mod_particles->module~mod_particle_gca module~mod_particles->module~mod_particle_lorentz module~mod_particles->module~mod_particle_sample proc~to_primitive to_primitive proc~to_primitive->module~mod_con2prim proc~to_primitive~10 to_primitive proc~to_primitive~10->module~mod_con2prim proc~to_primitive~4 to_primitive proc~to_primitive~4->module~mod_con2prim proc~to_primitive~9 to_primitive proc~to_primitive~9->module~mod_con2prim

Variables

Type Visibility Attributes Name Initial
logical, public :: B0field = .false.

split magnetic field as background B0 field

logical, public :: B0fieldAllocCoarse = .false.
double precision, public :: Bdip = 0.d0

amplitude of background dipolar, quadrupolar, octupolar, user's field

double precision, public :: Boct = 0.d0
double precision, public :: Bquad = 0.d0
double precision, public :: Busr = 0.d0
integer, public, parameter :: Forward_Euler = 1
logical, public :: H_correction = .false.

If true, do H-correction to fix the carbuncle problem at grid-aligned shocks

integer, public, parameter :: IMEX_222 = 12
integer, public, parameter :: IMEX_232 = 15
integer, public, parameter :: IMEX_ARS3 = 14
integer, public, parameter :: IMEX_CB3a = 16
integer, public, parameter :: IMEX_Euler = 6
integer, public, parameter :: IMEX_Midpoint = 10
integer, public, parameter :: IMEX_SP = 7
integer, public, parameter :: IMEX_Trapezoidal = 11
double precision, public :: LOS_phi

direction of the line of sight (LOS)

double precision, public :: LOS_theta

direction of the line of sight (LOS)

integer, public, parameter :: Predictor_Corrector = 2
integer, public, parameter :: RK2_alf = 8
integer, public, parameter :: RK3_BT = 13
double precision, public :: R_occultor

the white light emission below it (unit=Rsun) is not visible

double precision, public :: R_opt_thick

for spherical coordinate, region below it (unit=Rsun) is treated as not transparent

logical, public :: SI_unit = .false.

Use SI units (.true.) or use cgs units (.false.)

double precision, public :: Xload

Stores the memory and load imbalance, used in printlog

double precision, public :: Xmemory

Stores the memory and load imbalance, used in printlog

double precision, public :: a2max_global(ndim)

global largest a2 for schmid scheme

logical, public :: activate_unit_arcsec

use arcsec as length unit of images/spectra

double precision, public, allocatable :: amr_wavefilter(:)
logical, public :: any_source_split = .false.

if any normal source term is added in split fasion

logical, public :: aperiodB(ndim)

True for dimensions with aperiodic boundaries

double precision, public :: ars_gamma

IMEX_ARS3 parameter ars_gamma

logical, public :: autoconvert

If true, already convert to output format during the run

integer, public :: b0i = 0

background magnetic field location indicator

character(len=std_len), public :: base_filename

Base file name for simulation output, which will be followed by a number

integer, public, parameter :: bc_aperiodic = 6
integer, public, parameter :: bc_asymm = 4
integer, public, parameter :: bc_character = 9
integer, public, parameter :: bc_cont = 2
integer, public, parameter :: bc_data = 8
integer, public, parameter :: bc_icarus = 10
integer, public, parameter :: bc_noinflow = 7
integer, public, parameter :: bc_periodic = 5
integer, public, parameter :: bc_special = 1

boundary condition types

integer, public, parameter :: bc_symm = 3
logical, public :: big_image

big image

type(state), public, pointer :: block

Block pointer for using one block and its previous state

integer, public :: block_nx1

number of cells for each dimension in grid block excluding ghostcells

integer, public :: block_nx2

number of cells for each dimension in grid block excluding ghostcells

integer, public :: block_nx3

number of cells for each dimension in grid block excluding ghostcells

double precision, public :: c_norm = 1.d0

Normalised speed of light

double precision, public :: cmax_global

global fastest wave speed needed in fd scheme and glm method

logical, public :: coarsenprimitive = .false.
logical, public :: collapse(ndim)

If collapse(DIM) is true, generate output integrated over DIM

integer, public :: collapseLevel

The level at which to produce line-integrated / collapsed output

character(len=std_len), public :: collapse_type
integer, public :: collapsenext
logical, public :: convert

If true and restart_from_file is given, convert snapshots to other file formats

character(len=std_len), public :: convert_type

Which format to use when converting

Options are: tecplot, tecplotCC, vtu, vtuCC, vtuB, vtuBCC, tecplotmpi, tecplotCCmpi, vtumpi, vtuCCmpi, vtuBmpi, vtuBCCmpi, pvtumpi, pvtuCCmpi, pvtuBmpi, pvtuBCCmpi, tecline, teclinempi, onegrid

double precision, public :: courantpar

The Courant (CFL) number used for the simulation

logical, public :: crash = .false.

Save a snapshot before crash a run met unphysical values

logical, public :: dat_resolution

resolution of the images

double precision, public, allocatable :: derefine_ratio(:)
double precision, public, dimension(:), allocatable :: dg1

extent of grid blocks in domain per dimension, in array over levels

double precision, public, dimension(:), allocatable :: dg2

extent of grid blocks in domain per dimension, in array over levels

double precision, public, dimension(:), allocatable :: dg3

extent of grid blocks in domain per dimension, in array over levels

logical, public :: dimsplit
integer, public :: direction_slit

direction of the slit (for dat resolution only)

integer, public :: ditregrid

Reconstruct the AMR grid once every ditregrid iteration(s)

integer, public :: ditsave(nfile)

Repeatedly save output of type N when ditsave(N) time steps have passed

integer, public :: domain_nx1

number of cells for each dimension in level-one mesh

integer, public :: domain_nx2

number of cells for each dimension in level-one mesh

integer, public :: domain_nx3

number of cells for each dimension in level-one mesh

double precision, public :: dt
double precision, public :: dtdiffpar

For resistive MHD, the time step is also limited by the diffusion time: \f$ dt < dtdiffpar \times dx^2/eta \f$

double precision, public :: dtmin

Stop the simulation when the time step becomes smaller than this value

double precision, public :: dtpar

If dtpar is positive, it sets the timestep dt, otherwise courantpar is used to limit the time step based on the Courant condition.

double precision, public :: dtsave(nfile)

Repeatedly save output of type N when dtsave(N) simulation time has passed

double precision, public, allocatable :: dx(:,:)
double precision, public, allocatable :: dxfirst(:,:)
double precision, public, allocatable :: dxfirst_1mq(:,:)
double precision, public :: dxlevel(ndim)
double precision, public, allocatable :: dxmid(:,:)
integer, public :: emax_sxr
integer, public :: emin_sxr
integer, public, parameter :: fileanalysis_ = 5

Constant indicating analysis output (see @ref analysis.md)

integer, public, parameter :: filecollapse_ = 4

Constant indicating collapsed output

integer, public, parameter :: filelog_ = 1

Constant indicating log output

character(len=std_len), public :: filename_euv

Base file name for synthetic EUV emission output

character(len=std_len), public :: filename_spectrum

Base file name for synthetic EUV spectrum output

character(len=std_len), public :: filename_sxr

Base file name for synthetic SXR emission output

character(len=std_len), public :: filename_whitelight

Base file name for synthetic white light

integer, public, parameter :: fileout_ = 2

Constant indicating regular output

integer, public, parameter :: fileslice_ = 3

Constant indicating slice output

logical, public :: final_dt_exit

Force timeloop exit when final dt < dtmin

logical, public :: final_dt_reduction

If true, allow final dt reduction for matching time_max on output

logical, public :: firstprocess

If true, call initonegrid_usr upon restarting

integer, public, parameter :: fivestep = 5
logical, public :: fix_conserve_global = .true.

Whether to apply flux conservation at refinement boundaries

logical, public :: flatcd
logical, public :: flatsh
double precision, public :: flux_ad_min = 0.0d0
double precision, public :: flux_ad_scale = 1.0d0
logical, public :: flux_adaptive_diffusion = .false.

Adaptive LLF diffusion (Rempel et al. 2009): phi in [flux_ad_min, 1] per face per variable

integer, public, allocatable :: flux_method(:)

Which flux scheme of spatial discretization to use (per grid level)

integer, public, parameter :: fourstep = 4
integer, public, parameter :: fs_hll = 1

flux schemes

integer, public, parameter :: fs_hllc = 2
integer, public, parameter :: fs_tvdlf = 5
character(len=std_len), public :: geometry = 'Cartesian'

coordinate system to build for: 'Cartesian', 'spherical', 'cylindrical', or the logarithmic-radius variants 'logSpherical'/'logCylindrical' (which emit GEOM='spherical'/'cylindrical' plus the LOG_RADIUS flag). Read from &meshlist and turned into the GEOM fypp define by the config system; must be consistent with the set_coordinate_system call in mod_usr.

character(len=std_len), public :: geometry_name = 'default'
logical, public :: ghost_copy = .false.

whether copy values instead of interpolation in ghost cells of finer blocks

double precision, public :: global_time

The global simulation time

integer, public :: icomm

The MPI communicator

integer, public :: ierrmpi

A global MPI error return code

double precision, public :: image_rotate

rotation of image

double precision, public :: imex222_lambda

IMEX-222(lambda) one-parameter family of schemes

double precision, public :: imex_a21
double precision, public :: imex_a22

IMEX_CB3a extra parameters

double precision, public :: imex_a31
double precision, public :: imex_a32
double precision, public :: imex_a33

IMEX_CB3a extra parameters

double precision, public :: imex_b1
double precision, public :: imex_b2
double precision, public :: imex_b3
double precision, public :: imex_c2
double precision, public :: imex_c3
double precision, public :: imex_ha21
double precision, public :: imex_ha22
double precision, public :: imex_ha32

IMEX_CB3a extra parameters

integer, public :: imex_switch

IMEX_232 choice and parameters

integer, public :: index_latest_data

index number of the latest existing data file

double precision, public :: instrument_resolution_factor

times for enhancing spatial resolution for EUV image/spectra

logical, public :: internalboundary

if there is an internal boundary

integer, public :: iprob

problem switch allowing different setups in same usr_mod.t

integer, public :: isaveit(nfile)
integer, public :: isavet(nfile)
integer, public :: istep

Index of the sub-step in a multi-step time integrator

integer, public :: it

Number of time steps taken

integer, public :: it_init

initial iteration count

integer, public :: it_max

Stop the simulation after this many time steps have been taken

integer, public :: itfixgrid

Fix the AMR grid after this many time steps

integer, public :: itsave(nsavehi,nfile)

Save output of type N on iterations itsave(:, N)

integer, public :: itsavelast(nfile)
integer, public :: ixGextmax1

Index range over which the cell metrics (dvolume, ds) are known. This is the ghosted block range ixG, plus one extra layer on either side when the number of ghost cells is odd (or the grid is staggered), because ghost cell prolongation then needs volumes and dx-intervals one cell beyond it.

integer, public :: ixGextmax2

Index range over which the cell metrics (dvolume, ds) are known. This is the ghosted block range ixG, plus one extra layer on either side when the number of ghost cells is odd (or the grid is staggered), because ghost cell prolongation then needs volumes and dx-intervals one cell beyond it.

integer, public :: ixGextmax3

Index range over which the cell metrics (dvolume, ds) are known. This is the ghosted block range ixG, plus one extra layer on either side when the number of ghost cells is odd (or the grid is staggered), because ghost cell prolongation then needs volumes and dx-intervals one cell beyond it.

integer, public :: ixGextmin1

Index range over which the cell metrics (dvolume, ds) are known. This is the ghosted block range ixG, plus one extra layer on either side when the number of ghost cells is odd (or the grid is staggered), because ghost cell prolongation then needs volumes and dx-intervals one cell beyond it.

integer, public :: ixGextmin2

Index range over which the cell metrics (dvolume, ds) are known. This is the ghosted block range ixG, plus one extra layer on either side when the number of ghost cells is odd (or the grid is staggered), because ghost cell prolongation then needs volumes and dx-intervals one cell beyond it.

integer, public :: ixGextmin3

Index range over which the cell metrics (dvolume, ds) are known. This is the ghosted block range ixG, plus one extra layer on either side when the number of ghost cells is odd (or the grid is staggered), because ghost cell prolongation then needs volumes and dx-intervals one cell beyond it.

integer, public :: ixGhi1

Upper index of grid block arrays

integer, public :: ixGhi2

Upper index of grid block arrays

integer, public :: ixGhi3

Upper index of grid block arrays

integer, public, parameter :: ixGlo1 = 1

Lower index of grid block arrays (always 1)

integer, public, parameter :: ixGlo2 = 1

Lower index of grid block arrays (always 1)

integer, public, parameter :: ixGlo3 = 1

Lower index of grid block arrays (always 1)

integer, public :: ixGshi1

Upper index of stagger grid block arrays

integer, public :: ixGshi2

Upper index of stagger grid block arrays

integer, public :: ixGshi3

Upper index of stagger grid block arrays

integer, public, parameter :: ixGslo1 = 0

Lower index of stagger grid block arrays (always 0)

integer, public, parameter :: ixGslo2 = 0

Lower index of stagger grid block arrays (always 0)

integer, public, parameter :: ixGslo3 = 0

Lower index of stagger grid block arrays (always 0)

integer, public :: ixMhi1

the mesh range of a physical block without ghost cells

integer, public :: ixMhi2

the mesh range of a physical block without ghost cells

integer, public :: ixMhi3

the mesh range of a physical block without ghost cells

integer, public :: ixMlo1

the mesh range of a physical block without ghost cells

integer, public :: ixMlo2

the mesh range of a physical block without ghost cells

integer, public :: ixMlo3

the mesh range of a physical block without ghost cells

integer, public :: kr(3,3)

Kronecker delta tensor

double precision, public :: length_convert_factor
integer, public :: level_io
integer, public :: level_io_max
integer, public :: level_io_min
integer, public :: levmax
integer, public :: levmax_sub
integer, public :: levmin
logical, public :: local_timestep = .false.

each cell has its own timestep or not

double precision, public :: location_slit

location of the slit

integer, public :: log_fh

MPI file handle for logfile

double precision, public :: log_r0 = 0.0d0

Offset of the logarithmic radial map, r0 in s = ln(1 + r/r0).

Only meaningful in a LOG_RADIUS build. Zero - the default - selects the plain map s = ln(r), which cannot reach r = 0. A positive value moves the singularity of the map to r = -r0, so the mesh is uniform (with width r0*ds) for r << r0 and logarithmic for r >> r0, and r = 0 becomes an ordinary face of the grid at s = 0.

double precision, public :: log_ra = 1.0d0

The same map written as r = log_ra*exp(s) + log_rb, which is what device code evaluates where s >= 0 is guaranteed. log_ra = 1, log_rb = 0 for log_r0 = 0, so a plain logarithmic build gets bit-for-bit exp(s).

double precision, public :: log_rb = 0.0d0

The same map written as r = log_ra*exp(s) + log_rb, which is what device code evaluates where s >= 0 is guaranteed. log_ra = 1, log_rb = 0 for log_r0 = 0, so a plain logarithmic build gets bit-for-bit exp(s).

logical, public, allocatable :: logflag(:)
logical, public, allocatable :: loglimit(:)
integer, public :: lvc(3,3,3)

Levi-Civita tensor

integer, public :: max_blocks = 4000

The maximum number of grid blocks in a processor

integer, public :: mype

The rank of the current MPI task

integer, public :: n_saves(1:nfile)

Number of saved files of each type

integer, public :: nbufferx1

Number of cells as buffer zone

integer, public :: nbufferx2

Number of cells as buffer zone

integer, public :: nbufferx3

Number of cells as buffer zone

integer, public, parameter :: ndim = 3

Number of spatial dimensions for grid variables

integer, public :: ndir = ndim

Number of spatial dimensions (components) for vector variables

logical, public :: need_global_a2max = .false.

global value for schmid scheme

logical, public :: need_global_cmax = .false.

need global maximal wave speed

integer, public, parameter :: nfile = 5

Number of output methods

integer, public, dimension(:), allocatable :: ng1

number of grid blocks in domain per dimension, in array over levels

integer, public, dimension(:), allocatable :: ng2

number of grid blocks in domain per dimension, in array over levels

integer, public, dimension(:), allocatable :: ng3

number of grid blocks in domain per dimension, in array over levels

integer, public :: nghostcells = 2

Number of ghost cells surrounding a grid

integer, public, parameter :: nlevelshi = 20

The maximum number of levels in the grid refinement

logical, public :: nocartesian

IO switches for conversion

integer, public, allocatable :: node(:,:)
integer, public, allocatable :: node_sub(:,:)
integer, public, parameter :: nodehi = 3+1

grid hierarchy info (level and grid indices)

integer, public :: npe

The number of MPI tasks

integer, public, parameter :: nsavehi = 100

Maximum number of saves that can be defined by tsave or itsave

integer, public :: nstep

How many sub-steps the time integrator takes

integer, public, allocatable :: nstretchedblocks(:,:)
integer, public :: nstretchedblocks_baselevel(ndim) = 0
integer, public :: number_equi_vars = 0
integer, public :: nwauxio

Number of auxiliary variables that are only included in output

integer, public, parameter :: onestep = 1
character(len=40), public, parameter :: output_names(nfile) = ['log      ', 'normal   ', 'slice    ', 'collapsed', 'analysis ']

Names of the output methods

character(len=std_len), public, allocatable :: par_files(:)

Which par files are used as input

logical, public :: pass_wall_time

If true, wall time is up, modify snapshotnext for later overwrite

logical, public :: periodB(ndim)

True for dimensions with periodic boundaries

integer, public :: phi_ = -1
logical, public, allocatable :: phyboundblock(:)

True if a block has any physical boundary

character(len=std_len), public :: phys

type of physics to build

logical, public :: phys_trac = .false.

Use TRAC (Johnston 2019 ApJL, 873, L22) for MHD or 1D HD

double precision, public :: phys_trac_mask
integer, public :: phys_trac_type = 1
integer, public, parameter :: pig1_ = plevel_+1
integer, public, parameter :: pig2_ = plevel_+2
integer, public, parameter :: pig3_ = plevel_+3
integer, public, parameter :: plevel_ = 1
logical, public :: poleB(2,ndim)

Indicates whether there is a pole at a boundary

logical, public :: poleB_requested(2,ndim) = .false.

True where the parameter file asked for typeboundary='pole' on a face. Kept separately from poleB because the two are decided independently and at different times - read_par_files expands the 'pole' string into symm/asymm entries and loses it, while set_pole derives poleB from the domain bounds much later - and check_pole_setup has to be able to tell the user when they disagree.

integer, public :: prolong_limiter = 0

Limiter used for prolongation to refined grids and ghost cells

logical, public :: prolongprimitive = .false.
double precision, public, allocatable :: qstretch(:,:)
double precision, public :: qstretch_baselevel(ndim) = 1.0d0
integer, public :: r_ = -1

Indices for cylindrical coordinates FOR TESTS, negative value when not used:

logical, public :: record_electric_field = .false.

True for record electric field

integer, public :: refine_criterion
integer, public :: refine_max_level

Maximal number of AMR levels

double precision, public, allocatable :: refine_threshold(:)

Error tolerance for refinement decision

logical, public :: refine_usr = .false.

Specify to use user-defined refinement criterion

logical, public :: reset_grid

If true, rebuild the AMR grid upon restarting

logical, public :: reset_it

If true, reset iteration count to 0

logical, public :: reset_time

If true, reset iteration count and global_time to original values, and start writing snapshots at index 0

character(len=std_len), public :: restart_from_file

If not 'unavailable', resume from snapshot with this base file name

logical, public :: resume_previous_run

If true, restart a previous run from the latest snapshot

double precision, public :: rk3_a21
double precision, public :: rk3_a31
double precision, public :: rk3_a32
double precision, public :: rk3_b1
double precision, public :: rk3_b2
double precision, public :: rk3_b3
double precision, public :: rk3_c2
double precision, public :: rk3_c3
integer, public :: rk3_switch

RK3 Butcher table

integer, public, parameter :: rk4 = 17
double precision, public :: rk_a21

RK2(alfa) method parameters from Butcher tableau

double precision, public :: rk_alfa21
double precision, public :: rk_alfa22
double precision, public :: rk_alfa31
double precision, public :: rk_alfa33
double precision, public :: rk_alfa41
double precision, public :: rk_alfa44
double precision, public :: rk_alfa53
double precision, public :: rk_alfa54
double precision, public :: rk_alfa55
double precision, public :: rk_b1

RK2(alfa) method parameters from Butcher tableau

double precision, public :: rk_b2

RK2(alfa) method parameters from Butcher tableau

double precision, public :: rk_beta11
double precision, public :: rk_beta22
double precision, public :: rk_beta33
double precision, public :: rk_beta44
double precision, public :: rk_beta54
double precision, public :: rk_beta55
double precision, public :: rk_c2
double precision, public :: rk_c3
double precision, public :: rk_c4
double precision, public :: rk_c5
double precision, public, allocatable :: rnode(:,:)

Corner coordinates

double precision, public, allocatable :: rnode_sub(:,:)
integer, public, parameter :: rnodehi = 3*3

grid location info (corner coordinates and grid spacing)

integer, public, parameter :: rpdx1_ = 2*3+1
integer, public, parameter :: rpdx2_ = 2*3+2
integer, public, parameter :: rpdx3_ = 2*3+3
integer, public, parameter :: rpxmax0_ = 3
integer, public, parameter :: rpxmax1_ = rpxmax0_+1
integer, public, parameter :: rpxmax2_ = rpxmax0_+2
integer, public, parameter :: rpxmax3_ = rpxmax0_+3
integer, public, parameter :: rpxmin0_ = 0
integer, public, parameter :: rpxmin1_ = rpxmin0_+1
integer, public, parameter :: rpxmin2_ = rpxmin0_+2
integer, public, parameter :: rpxmin3_ = rpxmin0_+3
logical, public :: save_file(nfile)

whether or not to save an output file

logical, public :: save_physical_boundary

True for save physical boundary cells in dat files

logical, public :: saveprim

If true, convert from conservative to primitive variables in output

integer, public, parameter :: sdim = 1

starting dimension for electric field

integer, public :: size_block

MPI type for block including ghost cells and its size

integer, public :: size_block_io

MPI type for IO: block excluding ghost cells

integer, public :: size_block_io_stg

MPI type for IO of staggered variables

logical, public :: slab = .true.

Cartesian geometry or not

logical, public :: slab_uniform = .true.

uniform Cartesian geometry or not (stretched Cartesian)

integer, public :: slicenext
integer, public :: slowsteps

If > 1, then in the first slowsteps-1 time steps dt is reduced by a factor \f$ 1 - (1- step/slowsteps)^2 \f$

integer, public :: snapshotini

Resume from the snapshot with this index

integer, public :: snapshotnext
logical, public :: source_split_usr

Use split or unsplit way to add user's source terms, default: unsplit

logical, public :: specialboundary = .false.

signal to the precompiler that we need special boundaries:

double precision, public :: spectrum_window_max

spectral window

double precision, public :: spectrum_window_min

spectral window

integer, public :: spectrum_wl

wave length for spectrum

integer, public, parameter :: ssprk2 = 9
integer, public, parameter :: ssprk3 = 3
integer, public, parameter :: ssprk4 = 4
integer, public, parameter :: ssprk5 = 5
integer, public :: ssprk_order

SSPRK choice of methods (both threestep and fourstep, Shu-Osher 2N* implementation) also fivestep SSPRK54

logical, public :: stagger_grid = .false.

True for using stagger grid

integer, public, parameter :: stretch_none = 0

No stretching

integer, public, parameter :: stretch_symm = 2

Symmetric stretching (unused)

integer, public :: stretch_type(ndim) = stretch_none
logical, public :: stretch_uncentered = .false.
integer, public, parameter :: stretch_uni = 1

Unidirectional stretching (unused)

logical, public :: stretched_dim(ndim) = .false.
integer, public :: t_integrator = 0

time integrator method

integer, public :: t_stepper = 0

time stepper type

double precision, public :: tfixgrid

Fix the AMR grid after this time

integer, public, parameter :: threestep = 3
logical, public :: time_advance
double precision, public :: time_bc

accumulated wall-clock time spent on boundary conditions

double precision, public :: time_between_print

to monitor timeintegration loop at given wall-clock time intervals

double precision, public :: time_convert_factor

Conversion factor for time unit

double precision, public :: time_init

Start time for the simulation

double precision, public :: time_max

End time for the simulation

double precision, public :: tsave(nsavehi,nfile)

Save output of type N on times tsave(:, N)

double precision, public :: tsavelast(nfile)
double precision, public :: tsavestart(nfile)

Start of read out (not counting specified read outs)

integer, public, parameter :: twostep = 2
integer, public :: type_block

MPI type for block including ghost cells and its size

integer, public :: type_block_io

MPI type for IO: block excluding ghost cells

integer, public :: type_block_io_stg

MPI type for IO of staggered variables

integer, public :: type_block_wc_io

MPI type for IO: cell corner (wc) or cell center (wcc) variables

integer, public :: type_block_wcc_io

MPI type for IO: cell corner (wc) or cell center (wcc) variables

integer, public :: type_block_xc_io

MPI type for IO: cell corner (xc) or cell center (xcc) coordinates

integer, public :: type_block_xcc_io

MPI type for IO: cell corner (xc) or cell center (xcc) coordinates

integer, public :: type_coarse_block

MPI type for block coarsened by 2, and for its children blocks

integer, public :: type_coarse_block_stg(3,2,2,2)

MPI type for staggered block coarsened by 2, and for its children blocks

integer, public :: type_courant = 1

How to compute the CFL-limited time step

integer, public :: type_endian
integer, public, allocatable :: type_gradient_limiter(:)

Type of slope limiter used for computing gradients or divergences, when typegrad or typediv are set to 'limited'

integer, public, allocatable :: type_limiter(:)

Type of slope limiter used for reconstructing variables on cell edges

integer, public, parameter :: type_maxsum = 1

integer switchers for type courant

integer, public, parameter :: type_minimum = 3
integer, public :: type_sub_block(2,2,2)

MPI type for block coarsened by 2, and for its children blocks

integer, public :: type_sub_block_stg(3,2,2,2)

MPI type for staggered block coarsened by 2, and for its children blocks

integer, public, parameter :: type_summax = 2
integer, public, allocatable :: typeboundary(:,:)

Array indicating the type of boundary condition per variable and per physical boundary

character(len=std_len), public :: typedimsplit
character(len=std_len), public :: typediv
character(len=std_len), public :: typefilelog

Which type of log to write: 'normal', 'special', 'regression_test'

character(len=std_len), public :: typegrad
character(len=std_len), public :: typepoly
character(len=*), public, parameter :: undefined = 'undefined'
double precision, public :: unit_charge = 1.d0

Physical scaling factor for charge

double precision, public :: unit_density = 1.d0

Physical scaling factor for density

double precision, public :: unit_length = 1.d0

Physical scaling factor for length

double precision, public :: unit_magneticfield = 1.d0

Physical scaling factor for magnetic field

double precision, public :: unit_mass = 1.d0

Physical scaling factor for mass

double precision, public :: unit_numberdensity = 1.d0

Physical scaling factor for number density

double precision, public :: unit_opacity = 1.d0

Physical scaling factor for Opacity

double precision, public :: unit_pressure = 1.d0

Physical scaling factor for pressure

double precision, public :: unit_radflux = 1.d0

Physical scaling factor for radiation flux

double precision, public :: unit_temperature = 1.d0

Physical scaling factor for temperature

double precision, public :: unit_time = 1.d0

Physical scaling factor for time

double precision, public :: unit_velocity = 1.d0

Physical scaling factor for velocity

integer, public, parameter :: unitanalysis = 14
integer, public, parameter :: unitcollapse = 13
integer, public, parameter :: unitconvert = 10
integer, public, parameter :: uniterr = 6

Unit for error messages

integer, public, parameter :: unitpar = 9

file handle for IO

integer, public, parameter :: unitslice = 11
integer, public, parameter :: unitsnapshot = 12
integer, public, parameter :: unitstdin = 5

Unit for standard input

integer, public, parameter :: unitterm = 6

Unit for standard output

logical, public :: use_imex_scheme

whether IMEX in use or not

logical, public :: use_multigrid = .false.

Use multigrid (only available in 2D and 3D)

logical, public :: use_particles = .false.

Use particles module or not

character(len=std_len), public :: usr_filename

User parameter file

double precision, public, allocatable :: w_convert_factor(:)

Conversion factors the primitive variables

double precision, public, allocatable :: w_refine_weight(:)

Weights of variables used to calculate error for mesh refinement

logical, public, allocatable :: w_write(:)
double precision, public :: wall_time_max

Ending wall time (in hours) for the simulation

integer, public :: wavelength

wavelength for output

character(len=std_len), public :: whitelight_instrument

white light observation instrument

logical, public, allocatable :: writelevel(:)
double precision, public :: writespshift(ndim,2)
double precision, public :: x_origin(1:3)

where the is the origin (X=0,Y=0) of image

double precision, public :: xprobmax1

minimum and maximum domain boundaries for each dimension

double precision, public :: xprobmax2

minimum and maximum domain boundaries for each dimension

double precision, public :: xprobmax3

minimum and maximum domain boundaries for each dimension

double precision, public :: xprobmin1

minimum and maximum domain boundaries for each dimension

double precision, public :: xprobmin2

minimum and maximum domain boundaries for each dimension

double precision, public :: xprobmin3

minimum and maximum domain boundaries for each dimension

double precision, public :: xstretch1 = 0.0d0
double precision, public :: xstretch2 = 0.0d0
double precision, public :: xstretch3 = 0.0d0
integer, public :: z_ = -1

Subroutines

public pure subroutine cross_product(ixImin1, ixImin2, ixImin3, ixImax1, ixImax2, ixImax3, ixOmin1, ixOmin2, ixOmin3, ixOmax1, ixOmax2, ixOmax3, a, b, axb)

Cross product of two vectors

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: ixImin1
integer, intent(in) :: ixImin2
integer, intent(in) :: ixImin3
integer, intent(in) :: ixImax1
integer, intent(in) :: ixImax2
integer, intent(in) :: ixImax3
integer, intent(in) :: ixOmin1
integer, intent(in) :: ixOmin2
integer, intent(in) :: ixOmin3
integer, intent(in) :: ixOmax1
integer, intent(in) :: ixOmax2
integer, intent(in) :: ixOmax3
double precision, intent(in) :: a(ixImin1:ixImax1,ixImin2:ixImax2,ixImin3:ixImax3,3)
double precision, intent(in) :: b(ixImin1:ixImax1,ixImin2:ixImax2,ixImin3:ixImax3,3)
double precision, intent(out) :: axb(ixImin1:ixImax1,ixImin2:ixImax2,ixImin3:ixImax3,3)