nextnano.com
 GUI: nextnanomat
 Tool: nextnano++
 Tool: nextnano
 Tool: nextnano.QCL

 Download | SearchCopyright | News | Publications
 * password protected

 

nextnano software

 

  IP: Code Layout

 

 

 
Up
 

Input parser: General layout

input_driver.f90

Main program: main.f90

First subroutine call to principal input driving subroutine input_driver.f90.
The main driving routine for reading input parameters, database information as well as processing and checking the corresponding quantities is input_driver.f90.

 

!---------------------------------------------------!
    CALL read_and_analyze_input                     ! file: parser.f90
!---------------------------------------------------!
!       
requires only modules contained in file parser.f90

 

!---------------------------------------------------!
    CALL d_read_and_analyze_input                   ! file: data_base_builder.f90
!---------------------------------------------------!
!       
requires only modules contained in file data_base_builder.f90

 

!---------------------------------------------------!
    CALL warnings_on_off(warning)                   ! file: warnings_on_off.f90
!---------------------------------------------------!
!  USE generic_get_data                             !
!     
interface to generic subroutine get_data(...)       <- file: parser.f90
!  USE generic_data_base                            !
!     
interface to generic subroutine data_base(...)      <- file: data_base_builder.f90
!  LOGICAL  ::  warning                             !
!     
Output: used as a flag to activate warning output (.TRUE.=on, .FALSE.=off)
!---------------------------------------------------!

 

!---------------------------------------------------!
    CALL read_constants_and_scaling                 !
!       
file: read_constants_and_scaling.f90
!---------------------------------------------------!
!  USE generic_data_base                            !
!     
provide access to generic subroutine data_base(...)
!      <-
file: data_base_builder.f90
!  USE mod_physical_constants                       !
!     
Output:  GLOBAL <- file: units_and_constants.f90
!  USE mod_input_scaling                            !
!     
Output:  GLOBAL <- file: units_and_constants.f90
!---------------------------------------------------!

 

!---------------------------------------------------!
    CALL d_global_parameters                     !
!       
file: read_global_parameters.f90
!---------------------------------------------------!
!  USE generic_data_base                            !
!     
provide access to generic subroutine data_base(...)    <- file: data_base_builder.f90
!  USE generic_get_data                             !
!     
provide access to generic subroutine get_data(...)     <- file: parser.f90
!  USE mod_global_parameters                        !
!     
Output:  GLOBAL -> file: global_parameters.f90
!---------------------------------------------------!

 

!---------------------------------------------------!
    CALL get_domain_info(domain_boundaries)         !
!       
file: get_domain_info.f90
!  USE generic_get_data                             !
!     
interface to generic subroutine get_data(...)         <- file: parser.f90
!  USE generic_data_base                            !
!     
interface to generic subroutine data_base(...)        <- file: data_base_builder.f90
!  USE module_common_masks                          !
!     
Output: - GLOBAL - file: common_masks.f90 - sets all variables of module
!  REAL(8), DIMENSION(:,:), POINTER   :: domain_boundaries  !
!     
Output: to calling routine
!---------------------------------------------------!

 

!----------------------------------------------------------------!
! file: check_regions.f90
    CALL check_regions(domain_boundaries, &                      !
Input
                       num_regions_def,region_numbers,region_priorities,region_planes) ! Output
!  USE generic_get_data                                          !
!     
interface to generic subroutine get_data(...)              <- file: parser.f90
!  USE generic_data_base                                         !
!     
interface to generic subroutine data_base(...)             <- file: data_base_builder.f90
!  USE module_type_grid                                          !
!     
provide access to data type grid (to store region_planes) <- file: type_info.f90
!  USE module_region_planes_type                                 !
!     
provide access to data type region_planes_type           <- file: type_info.f90
!  USE module_hpsort                                             !
!     
get access to subroutine hpsort(arr)                    <- file: hpsort.f90
!  USE module_common_masks                                       !
!     
Input - contains domain_dimension,mask_domain_to_xyz,... <- file: common_masks.f90
!  REAL(8),DIMENSION(:,:),POINTER     :: domain_boundaries !
!     
Input - [see get_domain_info(domain_boundaries) above]
!----------------------------------------------------------------!
!  INTEGER, DIMENSION(:),POINTER :: region_numbers               ! Output
!  INTEGER, DIMENSION(:),POINTER :: region_priorities            ! Output
!  INTEGER                       :: num_regions_def              ! Output
!  TYPE(region_planes_type),DIMENSION(:),POINTER :: region_plane ! Output
!----------------------------------------------------------------!

 

!---------------------------------------------------!
    CALL get_grid_info(domain_boundaries,region_planes)  ! file: get_grid_info.f90
!  USE generic_get_data                             !
!     
provide access to generic subroutine get_data(...)  <- file: parser.f90
!  USE generic_data_base                            !
!     
provide access to generic subroutine data_base(...) <- file: data_base_builder.f90
!  USE module_hpsort                                !
!     
get access to subroutine hpsort(arr)            <- file: hpsort.f90
!  USE module_type_grid_info                        !
!     
provide access to data type grid_info            <- file: type_info.f90
!  USE module_type_grid                             !
!     
provide access to data type grid                 <- file: type_info.f90
!  USE mod_grid_planes                              ! Output -> file: mod_grid_planes.f90
!  USE module_region_planes_type                    !
!     
provide access to data type region_planes_type   <- file: type_info.f90
!  USE module_common_masks                          ! Input <- file: common_masks.f90
!---------------------------------------------------!

 

!---------------------------------------------------!
    CALL init_common_grid_conversion                !
!       
file: init_common_grid_conversion.f90
!  USE module_common_grid_conversion                !
!     
Output - to convert grid indices ijk_to_i_j_k etc -> file: common_grid_conversion.f90
!  USE mod_grid_planes                              !
!     
Input <- file: mod_grid_planes.f90
!  USE module_common_masks, ONLY: domain_dimension  !
!     
Input from module
!---------------------------------------------------!

 

!---------------------------------------------------!
! file: cluster_regions.f90
    CALL cluster_regions(domain_boundaries,region_numbers,region_priorities,  & !

                         cluster_numbers,warning)   !
!---------------------------------------------------!
!  USE generic_get_data                             !
!     
provide access to generic subroutine get_data(...)  <- file: parser.f90
!  USE generic_data_base                            !
!     
provide access to generic subroutine data_base(...) <- file: data_base_builder.f90
!  USE module_indexi                                !
!     
get access to subroutine indexi(iarr,index)     <- file: indexi.f90
!  USE module_type_grid_info                        !
!     
provide access to data type grid_info            <- file: type_info.f90
!  USE module_type_grid                             !
!     
provide access to data type grid                 <- file: type_info.f90
!  USE module_region_planes_type                    !
!     
provide access to data type region_planes_type   <- file: type_info.f90
!  USE mod_grid_planes                              !
!     
Input <- file: mod_grid_planes.f90
!  USE module_type_cluster_grid_points              !
!     
Input - type definition <- file: type_info.f90
!  USE mod_cluster_grid_points                      !
!     
Output -> file: cluster_grid_points.f90
!  USE module_common_grid_conversion, ONLY: grid_size  !
!     
Input <- file: common_grid_conversion.f90
!  USE module_ijk_to_i_j_k                          !
!     
Input - subroutine <- file: ijk_to_i_j_k.f90
!  USE module_i_j_k_to_ijk_geo                      !
!     
access to function i_j_k_to_ijk_geo(i_j_k) <- file: i_j_k_to_ijk_geo.f90
!  USE module_get_geo_coordinates                   !
!     
access to function get_geo_coordinates(l)  <- get_geo_coordinates.f90
!  USE mod_belongs_to_cluster                       !
!     
Output -> file: mod_belongs_to_cluster.f90
!  USE module_common_masks                          !
!     
Input <- file: common_masks.f90
!---------------------------------------------------!
!  LOGICAL                         :: warning           ! Input - list
!  REAL(8),DIMENSION(:,:),POINTER  :: domain_boundaries ! Input - list (seem to be not in use)
!  INTEGER,DIMENSION(:),  POINTER  :: cluster_numbers   ! Output - list
!---------------------------------------------------!

 

!---------------------------------------------------!
    CALL get_material_info(SIZE(cluster_numbers))   !
!       
file: get_material_info.f90 - MODULE module_get_material_info
!  USE generic_data_base                            !
!     
provide access to generic subroutine data_base(...) <- file: data_base_builder.f90
!  USE generic_get_data                             !
!     
provide access to generic subroutine get_data(...)  <- file: parser.f90
!  USE module_type_material_info                    !
!     
Output - file: module_type_material_info.f90 - MODULE module_type_material_info
!  USE module_cluster_to_material                   !
!     
Output - file: module_type_material_info.f90 - MODULE module_cluster_to_material
!  INTEGER          :: total_number_of_clusters     ! Input - list
!---------------------------------------------------!

 

!-----------------------------------------------------------------!
    CALL alloc_mat_models                                         !
!       
file: allocate_material_models.f90 - MODULE module_alloc_mat_models
!  USE generic_data_base                                          !
!     
provide access to generic subroutine data_base(...) <- file: data_base_builder.f90
!  USE generic_get_data                                           !
!     
provide access to generic subroutine get_data(...)  <- file: parser.f90
!  USE module_type_material_info                                  !
!     
Input - file: module_type_material_info.f90 - MODULE module_type_material_info
!  USE mod_ternary_zb_dflt                                        !
!     
Output - GLOBAL - file: module_type_material_info.f90
!  USE mod_binary_zb_dflt                                         !
!     
Output - GLOBAL - file: module_type_material_info.f90
!  USE mod_ternary_wz_dflt                                        !
!     
Output - GLOBAL - file: module_type_material_info.f90
!  USE mod_binary_wz_dflt                                         !
!     
Output - GLOBAL - file: module_type_material_info.f90
!  USE module_allocate_binary_models                              !
!     
access sub. allocate_??_binary_models  - file: allocate_binary_models.f90
!  USE module_allocate_ternary_models                             !
!     
access sub. allocate_??_ternary_models - file: allocate_ternary_models.f90
!  USE mod_default_zb_binary_models                               !
!     
access sub. default_zb_binary_models  (there OUTPUT) - file: default_zb_binary_models.f90
!  USE mod_default_zb_ternary_models                              !
!     
access sub. default_zb_ternary_models (there OUTPUT) - file: default_zb_ternary_models.f90
!  USE mod_default_wz_binary_models                               !
!     
access sub. default_wz_binary_models  (there OUTPUT) - file: default_wz_binary_models.f90
!  USE mod_default_wz_ternary_models                              !
!     
access sub. default_wz_ternary_models (there OUTPUT) - file: default_wz_ternary_models.f90
!  USE module_material_to_nth_model                               !
!     
Output - material to nth data structure of material model - file: module_type_material_info.f90
!-----------------------------------------------------------------!

 

!---------------------------------------------------!
    CALL read_zb_binary_models                      !
!       
file: read_zb_binary_models.f90 - MODULE module_read_zb_binary_models
!  USE generic_get_data                             !
!     
provide access to generic subroutine get_data(...)  <- file: parser.f90
!  USE generic_data_base                            !
!     
provide access to generic subroutine data_base(...) <- file: data_base_builder.f90
!  USE module_type_material_info                    !
!     
Output - file: module_type_material_info.f90
!  USE mod_binary_zb_dflt                           !
!     
Output - file: module_type_material_info.f90
!  USE module_material_to_nth_model                 !
!     
Input  - file: module_type_material_info.f90
!---------------------------------------------------!

 

!---------------------------------------------------!
    CALL read_zb_ternary_models                     !
!       
file: read_zb_ternary_models.f90 - MODULE module_read_zb_ternary_models
!  USE generic_get_data                             !
!     
provide access to generic subroutine get_data(...)  <- file: parser.f90
!  USE generic_data_base                            !
!     
provide access to generic subroutine data_base(...) <- file: data_base_builder.f90
!  USE module_type_material_info                    !
!     
Output - file: module_type_material_info.f90
!  USE mod_ternary_zb_dflt                          !
!     
Output - file: module_type_material_info.f90
!  USE module_material_to_nth_model                 !
!     
Input  - file: module_type_material_info.f90
!---------------------------------------------------!

 

!---------------------------------------------------!
    CALL read_wz_binary_models                      !
!       
file: read_wz_binary_models.f90 - MODULE module_read_wz_binary_models
!  USE generic_get_data                             !
!     
provide access to generic subroutine get_data(...)  <- file: parser.f90
!  USE generic_data_base                            !
!     
provide access to generic subroutine data_base(...) <- file: data_base_builder.f90
!  USE module_type_material_info                    !
!     
Output - file: module_type_material_info.f90
!  USE mod_binary_wz_dflt                           !
!     
Output - file: module_type_material_info.f90
!  USE module_material_to_nth_model                 !
!     
Input  - file: module_type_material_info.f90
!---------------------------------------------------!

 

!---------------------------------------------------!
    CALL read_wz_ternary_models                     !
!       
file: read_wz_ternary_models.f90 - MODULE module_read_wz_ternary_models
!  USE generic_get_data                             !
!     
provide access to generic subroutine get_data(...)  <- file: parser.f90
!  USE generic_data_base                            !
!     
provide access to generic subroutine data_base(...) <- file: data_base_builder.f90
!  USE module_type_material_info                    !
!     
Output - file: module_type_material_info.f90
!  USE mod_ternary_wz_dflt                          !
!     
Output - file: module_type_material_info.f90
!  USE module_material_to_nth_model                 !
!     
Input  - file: module_type_material_info.f90
!---------------------------------------------------!

 

!---------------------------------------------------!
    CALL normalize_principal_axes                   !
!       
file: normalize_principal_axes.f90 - MODULE mod_normalize_principal_axes
!  USE generic_data_base                            !
!     
provide access to generic subroutine data_base(...) <- file: data_base_builder.f90
!  USE mod_binary_zb_dflt                           !
!     
Output - file: module_type_material_info.f90
!  USE mod_ternary_zb_dflt                          !
!     
Output - file: module_type_material_info.f90
!  USE mod_binary_wz_dflt                           !
!     
Output - file: module_type_material_info.f90
!  USE mod_ternary_wz_dflt                          !
!     
Output - file: module_type_material_info.f90
!  USE module_material_to_nth_model                 !
!     
Input  - file: module_type_material_info.f90
!  USE module_type_material_info                    !
!     
Input/Output - file: module_type_material_info.f90
!---------------------------------------------------!

 

!---------------------------------------------------------!
    CALL read_alloy_info                                  !
!       
file: read_alloy_info.f90 - MODULE module_read_alloy_info
!  USE generic_data_base                                  !
!     
provide access to generic subroutine data_base(...) <- file: parser.f90
!  USE generic_get_data                                   !
!     
provide access to generic subroutine get_data(...)  <- file: data_base_builder.f90
!  USE module_type_material_info                          !
!     
Input- file: module_type_material_info.f90
!  USE mod_allocate_alloy_structures                      !
!     
ACCESS - file: allocate_alloy_structures.f90
!  USE mod_read_alloy_data                                !
!     
ACCESS - file: read_alloy_data.f90
!  LOGICAL, DIMENSION(:), POINTER :: needs_alloy_function !
!     
LOCAL Output to subroutine read_alloy_data(needs_alloy_function)
!  INTEGER, DIMENSION(:), POINTER :: needs_function_type  !
!     
LOCAL Output to subroutine read_alloy_data(needs_alloy_function)
!---------------------------------------------------------!

 

!---------------------------------------------------!
    CALL read_doping_info                                                    ! file: read_doping_info.f90 - MODULE module_read_doping_info
!  USE generic_data_base                                                     ! ACCESS generic subroutine data_base(...) <- file: data_base_builder.f90
!  USE generic_get_data                                                      ! ACCESS get_data(...) <- file: parser.f90
!  USE mod_para_doping_func                                                  ! OUTPUT - file: dop_func_param_type.f90 - MODULE mod_para_doping_func
!  USE mod_read_doping_data                                                  ! ACCESS read_doping_data(function_names) - file: read_doping_data.f90
!---------------------------------------------------!

 

!---------------------------------------------------!
    CALL read_impurity_info                                                  ! file: read_impurity_info.f90 - MODULE module_read_impurity_info
!  USE generic_data_base                                                     ! ACCESS generic subroutine data_base(...) <- file: data_base_builder.f90
!  USE generic_get_data                                                      ! ACCESS generic subroutine get_data(...) <- file: parser.f90
!  USE mod_para_doping_func                                                  ! INPUT  - file: dop_func_param_type.f90
!  USE mod_impurity_param                                                    ! OUTPUT - file: impurity_param_type.f90
!---------------------------------------------------!

 

!---------------------------------------------------!
    CALL material_orientation                                                ! file: dflt_material_orientation.f90 - MODULE mod_material_orientation
!  USE generic_get_data                                                      ! ACCESS get_data(...) <- file: parser.f90
!  USE generic_data_base                                                     ! ACCESS data_base(...) <- file: data_base_builder.f90
!  USE mod_lattice_co                                                        ! ACCESS FUNCTION lattice_co(...) - file: lattice_co.f90
!  USE module_type_material_info                                             ! INPUT/OUTPUT  - file: module_type_material_info.f90
!  USE mod_cross_product                                                     ! ACCESS FUNCTION cross_product(...) - file: cross_product.f90
!  USE mod_miller                                                            ! ACCESS FUNCTION miller(...) - file: miller.f90
!  USE mod_read_crystal_xyz_axes                                             ! ACCESS SUBROUTINE read_crystal_xyz_axes(...) - file: read_crystal_xyz_axes.f90
!  USE mod_substrate_lattices                                                ! ACCESS SUBROUTINE substrate_lattices(...) - file: substrate_lattices.f90
!  USE mod_interface_vectors                                                 ! ACCESS  SUBROUTINE interface_vectors(...) - file: interface_vectors.f90
!  REAL(8),DIMENSION(:,:),POINTER            :: lattices                     ! LOCAL OUTPUT -> substrate_lattices(lattices,mons)
!  INTEGER          ,DIMENSION(:),POINTER    :: mons                         ! LOCAL OUTPUT -> substrate_lattices(lattices,mons)
!  INTEGER         ,DIMENSION(:,:) ,POINTER  :: int_vecs                     ! LOCAL OUTPUT -> interface_vectors(int_vecs,nvecs)
!  INTEGER                                   :: nvecs                        ! LOCAL OUTPUT -> interface_vectors(int_vecs,nvecs)
!---------------------------------------------------!

 

!---------------------------------------------------!
    CALL get_poisson_clusters                                                ! file: get_poisson_clusters.f90 - MODULE module_get_poisson_clusters
!  USE mod_poisson_regions                                                   ! OUTPUT - file: mod_poisson_regions.f90 - MODULE mod_poisson_regions
!  USE generic_get_data                                                      ! ACCESS subroutine get_data(...) <- file: parser.f90
!  USE module_common_masks                                                   ! INPUT <- file: common_masks.f90
!  USE module_cluster_to_material                                            ! INPUT <- file: module_type_material_info.f90
!---------------------------------------------------!

 

!---------------------------------------------------!
    CALL get_quantum_clusters(domain_boundaries)                   ! file: get_quantum_clusters.f90 - MODULE mod_get_quantum_clusters
!  USE mod_check_quantum_regions                                   ! ACCESS SUBROUTINE check_quantum_regions - file: check_quantum_regions.f90
!  USE mod_check_quantum_clusters                                  ! ACCESS SUBROUTINE check_quantum_clusters - file: check_quantum_clusters.f90
!  USE mod_cluster_quantum_regions                                 ! ACCESS SUBROUTINE cluster_quantum_regions - file: cluster_quantum_regions.f90
!  REAL(8),DIMENSION(:,:),POINTER :: domain_boundaries             ! INPUT - list / LOCAL OUTPUT to subroutines check_quantum_regions(), cluster_quantum_regions()
!  INTEGER,DIMENSION(:)  ,POINTER :: quantum_region_priorities     ! LOCAL OUTPUT to check_quantum_regions(), check_quantum_clusters(), cluster_quantum_regions()
!  INTEGER,DIMENSION(:)  ,POINTER :: quareg_to_cluster             ! LOCAL OUTPUT - to check_quantum_clusters(), cluster_quantum_regions()
!  INTEGER                        :: num_of_quantum_clusters       ! LOCAL OUTPUT - to check_quantum_clusters(), cluster_quantum_regions()
!  LOGICAL                        :: warning                       ! LOCAL OUTPUT - to check_quantum_clusters(), cluster_quantum_regions()
!---------------------------------------------------!

 

!---------------------------------------------------!
    CALL get_quantum_models                                                  ! file: get_quantum_models.f90 - MODULE mod_get_quantum_models
  USE generic_get_data                                                       ! ACCESS get_data(...) <- file: parser.f90
  USE generic_data_base                                                      ! ACCESS data_base(...) <- file: data_base_builder.f90
!---------------------------------------------------!
! CONTAINS                                                                   !
! SUBROUTINE check_for_unique_clustering (n_qm_models_e,n_qm_models_h)       !
!  USE mod_qm_cluster_grid_points                                            ! file: quantum_cluster_grid_points.f90
!  USE module_cluster_to_material                                            ! INPUT: file: quantum_cluster_grid_points.f90
!  USE module_type_material_info                                             ! INPUT - file: module_type_material_info.f90
!  USE mod_belongs_to_cluster                                                ! INPUT - file: mod_belongs_to_cluster.f90
!  USE mod_num_cbands                                                        ! ACCESS FUNCTION num_cbands(...) - file: num_cbands.f90
!  USE mod_num_vbands                                                        ! ACCESS FUNCTION num_vbands(...) - file: num_vbands.f90
!  USE mod_qm_models                                                         ! file: quantum_cluster_grid_points.f90
!---------------------------------------------------!

 

!---------------------------------------------------!
    CALL sort_quantum_models                        ! file: sort_quantum_models.f90
!      
  apparently not used !
!---------------------------------------------------!

 

!---------------------------------------------------!
    CALL read_mat_interfaces                                                 ! file: read_mat_interfaces.f90 - MODULE mod_read_mat_interfaces
!  USE generic_data_base                                                     ! ACCESS data_base(...) <- file: data_base_builder.f90
!  USE generic_get_data                                                      ! ACCESS get_data(...) <- file: parser.f90
!  USE mod_mat_interfaces                                                    ! OUTPUT - file: interface_data.f90
!  USE mod_interface_to_state_num, ONLY : ifs_to_states                      ! OUTPUT - file: interface_data.f90
!  USE mod_if_state_params,        ONLY : if_state_params                    ! OUTPUT - file: interface_data.f90
!---------------------------------------------------!

 

!---------------------------------------------------!
    CALL out_in                                                              ! file: out_in.f90 - MODULE module_out_in
!  USE generic_get_data                                                      ! ACCESS get_data(...) <- file: parser.f90
!  USE module_type_material_info                                             ! INPUT <- file: module_type_material_info.f90
!  USE module_get_geo_coordinates                                            ! ACCESS  FUNCTION get_geo_coordinates(l) - file: get_geo_coordinates.f90
!  USE module_common_masks                                                   ! INPUT <- file: common_masks.f90
!  USE module_cluster_to_material                                            ! INPUT <- file: module_type_material_info.f90
!  USE module_common_grid_conversion, ONLY: grid_size                        ! INPUT <- file: common_grid_conversion.f90
!  USE module_type_grid                                                      ! INPUT <- file: type_info.f90
!  USE mod_belongs_to_cluster                                                ! INPUT <- file: mod_belongs_to_cluster.f90
!---------------------------------------------------!
!  USE mod_alloy                                                             ! ACCESS function alloy(...) - file: alloy.f90
!  USE mod_vb_energy                                                         ! ACCESS function vb_energy(...) - file: vb_energy.f90
!  USE mod_vb_masses                                                         ! ACCESS function vb_masses(...) - file: vb_masses.f90
!  USE mod_vb_nonpar                                                         ! ACCESS function vb_nonpar(...) - file: vb_nonpar.f90
!  USE mod_cb_energy                                                         ! ACCESS function cb_energy(...) - file: cb_energy.f90
!  USE mod_cb_masses                                                         ! ACCESS function cb_masses(...) - file: cb_masses.f90
!  USE mod_cb_nonpar                                                         ! ACCESS function cb_nonpar(...) - file: cb_nonpar.f90
!  USE mod_num_cbands                                                        ! ACCESS function num_cbands(...) - file: num_cbands.f90
!  USE mod_num_vbands                                                        ! ACCESS function num_cbands(...) - file: num_vbands.f90
!  USE mod_cb_degeneracy                                                     ! ACCESS function cb_degeneracy(...) - file: cb_degeneracy.f90
!  USE mod_vb_degeneracy                                                     ! ACCESS function vb_degeneracy(...) - file: vb_degeneracy.f90
!  USE mod_st_dielc                                                          ! ACCESS function st_dielc(...) - file: st_dielc.f90
!  USE mod_op_dielc                                                          ! ACCESS function op_dielc(...) - file: op_dielc.f90
!  USE mod_lattice_co                                                        ! ACCESS function lattice_co(...) - file: lattice_co.f90
!  USE mod_doping_concentration                                              ! ACCESS function doping_concentration(...) - file: doping_concentration.f90
!  USE mod_imp_inquiry_funcs                                                 ! ACCESS functions to get information about impurity properties - file: imp_inquiry_funcs.f90
!  USE mod_sp_polar_xyz                                                      ! ACCESS function sp_polar_xyz(material_number,xalloy) - file: sp_polar_xyz.f90
!  USE mod_band_shift                                                        ! ACCESS function band_shift(...) - file: band_shift.f90
!  USE mod_cb_dispersion                                                     ! ACCESS function cb_dispersion(...) - file: cb_dispersion.f90
!  USE mod_get_strain_tensor_cxyz                                            ! ACCESS function get_strain_tensor_cxyz(grid_point,symm) - file: get_strain_tensor_cxyz.f90
!  USE mod_piezo_polarization_cxyz                                           ! ACCESS function piezo_polarization_cxyz(grid_point,symm) - file: piezo_polarization_cxyz.f90
!  USE mod_piezo_polarization_xyz                                            ! ACCESS function piezo_polarization_cxyz(grid_point,symm) - file: piezo_polarization_xyz.f90
!---------------------------------------------------!

 

!---------------------------------------------------!
    CALL match_geo_to_fid                           ! file: match_geo_to_fid.f90 - MODULE module_match_geo_to_fid
!  USE module_type_material_info                    ! INPUT <- file: module_type_material_info.f90
!  USE module_get_geo_coordinates                   ! INPUT <- file: get_geo_coordinates.f90
!  USE module_common_masks                          ! INPUT <- file: common_masks.f90
!  USE module_cluster_to_material                   ! INPUT <- file: module_type_material_info.f90
!  USE module_common_grid_conversion, ONLY: grid_size     ! INPUT <- file: common_grid_conversion.f90
!  USE module_type_grid                             ! INPUT <- file: type_info.f90
!  USE mod_grid_planes                              ! INPUT <- file: mod_grid_planes.f90
!  USE mod_belongs_to_cluster                       ! INPUT <- file: mod_belongs_to_cluster.f90
!  USE mod_belongs_to_quantum_cluster               ! INPUT <- file: mod_belongs_to_quantum_cluster.f90
!  USE mod_qm_cluster_grid_points, ONLY : n_qm_clusters_defined     ! INPUT <- file: quantum_cluster_grid_points.f90
!---------------------------------------------------!
!  USE define_geometry                              ! OUTPUT - file: define_geometry.f90 to Stefan
!---------------------------------------------------!