ESPUTR
calculation of sputtering yields
|
Functions/Subroutines | |
subroutine, public | esputr1993_init (constantsFile, err) |
Initialization of the 1993-model. More... | |
logical function, public | esputr1993_if_initialized () |
Return .true. if module esputr1993 is initialized. More... | |
subroutine, public | esputr1993_check (res, err) |
Check integrity and validity of data in the module. More... | |
subroutine, public | esputr1993_deallocate (err) |
Deallocate dynamic arrays used by the module ESPUTR1993. More... | |
integer function, public | esputr1993_getprojectileid (proj, err) |
Return ID of the projectile for the 1993-model. More... | |
integer function, public | esputr1993_gettargetid (targ, err) |
Return ID of the target for the 1993-model. More... | |
real(esputr_dp) function, public | esputr1993_yn (E0, proj_id, targ_id, err) |
Calculate sputtering yield for normal incidence with 1993-model for a given incident energy and target-projectile combination. More... | |
real(esputr_dp) function, public | esputr1993_yth (theta, err) |
Angular dependence of sputtering yield in 1993-model for given incident angle. More... | |
real(esputr_dp) function, public | esputr1993_eth (proj_id, targ_id, err) |
Return threshold energy for the given projectile-target combination. More... | |
subroutine, public | esputr1993_availablecombinations (combinations, err) |
Return the list of available projectile-target combinations. More... | |
Variables | |
integer, parameter, public | esputr1993_first_col_width = 11 |
Width of the first column in the input file. More... | |
integer, save, private | nheaderlines |
Number of comment lines in the beginning of the input file All lines including the first line which starts with '=' are considered to be comment lines. If there is no line starting with '=', no line is treated as comment. More... | |
integer, parameter, private | col_width = 9 |
Width of the columns in the input file. More... | |
integer, parameter, private | lines_per_target = 6 |
Number of lines for each target in in the input file (excluding blank lines) More... | |
integer, parameter, private | nconstants = 3 |
Number of parameters read from the input file for one target/projectile combination. More... | |
integer, save, private | ntargets |
Number of loaded targets. More... | |
integer, save, private | nprojectiles |
Number of loaded projectiles. More... | |
real(esputr_dp), dimension(:,:,:), allocatable, save, private | fitvalues |
Array with parameters of fitting formula for normal incidence for 1993-model. More... | |
character(esputr1993_first_col_width), dimension(:), allocatable, save, private | targets_names |
Array of strings with the names of targets. More... | |
character(esputr1993_first_col_width), dimension(:), allocatable, save, private | projectiles_names |
Array of strings with the names of projectiles. More... | |
subroutine, public esputr1993::esputr1993_init | ( | character(*), intent(in) | constantsFile, |
integer, intent(out) | err | ||
) |
Initialization of the 1993-model.
This subroutine allocates arrays and reads data from the input file in EIRENE SPUTER format
[in] | constantsfile | Name of the input file |
[out] | err | Error code |
Definition at line 82 of file esputr1993.f90.
References col_width, esputr1993_check(), esputr1993_first_col_width, esputr::esputr_unit, fitvalues, lines_per_target, nconstants, nheaderlines, nprojectiles, ntargets, esputr::numberoflines(), projectiles_names, and targets_names.
Referenced by esputr1993_init_wrapper(), esputr1993_test::esputr1993_test_compare(), esputr1993_test::esputr1993_test_double_init(), esputr1993_test::esputr1993_test_eth(), esputr1993_test::esputr1993_test_initialized(), esputr1993_test::esputr1993_test_th(), esputr1993_test::esputr1993_test_unknown_elements(), esputr1993_test::esputr1993_test_wrong_angle(), esputr1993_test::esputr1993_test_wrong_file(), esputr1993_test::esputr1993_test_wrong_ids(), initesputr(), and mexfunction().
logical function, public esputr1993::esputr1993_if_initialized | ( | ) |
Return .true. if module esputr1993 is initialized.
Definition at line 259 of file esputr1993.f90.
References fitvalues.
Referenced by esputr1993_test::esputr1993_test_initialized().
subroutine, public esputr1993::esputr1993_check | ( | integer, intent(out) | res, |
integer, intent(out) | err | ||
) |
Check integrity and validity of data in the module.
[out] | res | Code of the result |
[out] | err | Error code |
Definition at line 264 of file esputr1993.f90.
References esputr::esputr_unit, fitvalues, nprojectiles, ntargets, projectiles_names, and targets_names.
Referenced by esputr1993_init().
subroutine, public esputr1993::esputr1993_deallocate | ( | integer, intent(out) | err | ) |
Deallocate dynamic arrays used by the module ESPUTR1993.
[out] | err | Error code |
Definition at line 329 of file esputr1993.f90.
References esputr::esputr_unit, fitvalues, projectiles_names, and targets_names.
Referenced by esputr1993_test::esputr1993_test_compare(), esputr1993_test::esputr1993_test_double_init(), esputr1993_test::esputr1993_test_eth(), esputr1993_test::esputr1993_test_initialized(), esputr1993_test::esputr1993_test_th(), esputr1993_test::esputr1993_test_unknown_elements(), esputr1993_test::esputr1993_test_wrong_angle(), esputr1993_test::esputr1993_test_wrong_file(), esputr1993_test::esputr1993_test_wrong_ids(), esputr_cgi(), esputr_deallocate(), esputr_yn(), esputr_yth(), and mexfunction().
integer function, public esputr1993::esputr1993_getprojectileid | ( | character(*), intent(in) | proj, |
integer, intent(out) | err | ||
) |
Return ID of the projectile for the 1993-model.
The ID index is to be used in function esputr1993_yn
[in] | proj | String with the name of projectile |
[out] | err | Error code |
Definition at line 352 of file esputr1993.f90.
References esputr::esputr_unit, and projectiles_names.
Referenced by esputr1993_test::esputr1993_test_call_uninitialized(), esputr1993_test::esputr1993_test_compare(), esputr1993_test::esputr1993_test_eth(), esputr1993_test::esputr1993_test_unknown_elements(), esputr_yn(), and writejsonarray().
integer function, public esputr1993::esputr1993_gettargetid | ( | character(*), intent(in) | targ, |
integer, intent(out) | err | ||
) |
Return ID of the target for the 1993-model.
The ID index is to be used in function esputr1993_yn
[in] | targ | String with the name of the target |
[out] | err | Error code |
Definition at line 382 of file esputr1993.f90.
References esputr::esputr_unit, and targets_names.
Referenced by esputr1993_test::esputr1993_test_call_uninitialized(), esputr1993_test::esputr1993_test_compare(), esputr1993_test::esputr1993_test_eth(), esputr1993_test::esputr1993_test_unknown_elements(), esputr_yn(), and writejsonarray().
real(esputr_dp) function, public esputr1993::esputr1993_yn | ( | real(esputr_dp), intent(in) | E0, |
integer, intent(in) | proj_id, | ||
integer, intent(in) | targ_id, | ||
integer, intent(out) | err | ||
) |
Calculate sputtering yield for normal incidence with 1993-model for a given incident energy and target-projectile combination.
Same formula is used as in the subroutine SPUTER of EIRENE, see [W. Eckstein et al., Atomic as plasma-material interaction data for fusion, vol. 7, Part B (2001)] Chapter 2, first Equation on Page 18
[in] | e0 | Incident energy, eV |
[in] | proj_id | Projectile ID returned by yesputr1993_getProjectileId |
[in] | targ_id | Target ID returned by esputr1993_getTargetId |
[out] | err | Error code |
Definition at line 417 of file esputr1993.f90.
References esputr::esputr_unit, fitvalues, nprojectiles, and ntargets.
Referenced by esputr1993_test::esputr1993_test_call_uninitialized(), esputr1993_test::esputr1993_test_compare(), esputr1993_test::esputr1993_test_wrong_ids(), and esputr_yn().
real(esputr_dp) function, public esputr1993::esputr1993_yth | ( | real(esputr_dp), intent(in) | theta, |
integer, intent(out) | err | ||
) |
Angular dependence of sputtering yield in 1993-model for given incident angle.
Yamamura formula with f=2 and theta_opt=75 deg. See [W. Eckstein et al., Atomic as plasma-material interaction data for fusion, vol. 7, Part B (2001)] Chapter 2, first Equation on Page 19. This model was used in the EIRENE subroutine SPUTER. Maximum for cChosen set of parameters is 3.3902
[in] | theta | Angle of incidence, radian |
Angle between surface normal and the incident velocity: 0 for normal incidence
[out] | err | Error code |
Definition at line 468 of file esputr1993.f90.
References esputr::esputr_pi, esputr::esputr_pi2, and esputr::esputr_unit.
Referenced by esputr1993_test::esputr1993_test_th(), esputr1993_test::esputr1993_test_wrong_angle(), and esputr_yth().
real(esputr_dp) function, public esputr1993::esputr1993_eth | ( | integer, intent(in) | proj_id, |
integer, intent(in) | targ_id, | ||
integer, intent(out) | err | ||
) |
Return threshold energy for the given projectile-target combination.
[in] | proj_id | Projectile ID returned by yesputr1993_getProjectileId |
[in] | targ_id | Target ID returned by esputr1993_getTargetId |
[out] | err | Error code |
Definition at line 505 of file esputr1993.f90.
References esputr::esputr_unit, fitvalues, nprojectiles, and ntargets.
Referenced by esputr1993_test::esputr1993_test_eth(), and writejsonarray().
subroutine, public esputr1993::esputr1993_availablecombinations | ( | character(esputr1993_first_col_width), dimension(:,:), intent(inout), allocatable | combinations, |
integer, intent(out) | err | ||
) |
Return the list of available projectile-target combinations.
[in,out] | combinations | (:,1) are the projectiles, (:,2) are the targets |
Definition at line 532 of file esputr1993.f90.
References esputr::esputr_unit, nprojectiles, ntargets, projectiles_names, and targets_names.
Referenced by sendavailablecombinations().
integer, parameter, public esputr1993::esputr1993_first_col_width = 11 |
Width of the first column in the input file.
Definition at line 36 of file esputr1993.f90.
Referenced by esputr1993_init().
integer, save, private esputr1993::nheaderlines |
Number of comment lines in the beginning of the input file All lines including the first line which starts with '=' are considered to be comment lines. If there is no line starting with '=', no line is treated as comment.
Definition at line 41 of file esputr1993.f90.
Referenced by esputr1993_init().
integer, parameter, private esputr1993::col_width = 9 |
Width of the columns in the input file.
Definition at line 43 of file esputr1993.f90.
Referenced by esputr1993_init().
integer, parameter, private esputr1993::lines_per_target = 6 |
Number of lines for each target in in the input file (excluding blank lines)
Definition at line 45 of file esputr1993.f90.
Referenced by esputr1993_init().
integer, parameter, private esputr1993::nconstants = 3 |
Number of parameters read from the input file for one target/projectile combination.
Definition at line 47 of file esputr1993.f90.
Referenced by esputr1993_init().
integer, save, private esputr1993::ntargets |
Number of loaded targets.
Definition at line 49 of file esputr1993.f90.
Referenced by esputr1993_availablecombinations(), esputr1993_check(), esputr1993_eth(), esputr1993_init(), and esputr1993_yn().
integer, save, private esputr1993::nprojectiles |
Number of loaded projectiles.
Definition at line 51 of file esputr1993.f90.
Referenced by esputr1993_availablecombinations(), esputr1993_check(), esputr1993_eth(), esputr1993_init(), and esputr1993_yn().
real(esputr_dp), dimension(:,:,:), allocatable, save, private esputr1993::fitvalues |
Array with parameters of fitting formula for normal incidence for 1993-model.
FITVALUES(NTARGETS, NPROJECTILES, NCONSTANTS)
2nd index is the index of target, 3rd index is the index of projectile
Definition at line 62 of file esputr1993.f90.
Referenced by esputr1993_check(), esputr1993_deallocate(), esputr1993_eth(), esputr1993_if_initialized(), esputr1993_init(), and esputr1993_yn().
character(esputr1993_first_col_width), dimension(:), allocatable, save, private esputr1993::targets_names |
Array of strings with the names of targets.
TARGETS_NAMES(NTARGETS)
Definition at line 66 of file esputr1993.f90.
Referenced by esputr1993_availablecombinations(), esputr1993_check(), esputr1993_deallocate(), esputr1993_gettargetid(), and esputr1993_init().
character(esputr1993_first_col_width), dimension(:), allocatable, save, private esputr1993::projectiles_names |
Array of strings with the names of projectiles.
PROJECTILES_NAMES(NPROJECTILES)
Definition at line 70 of file esputr1993.f90.
Referenced by esputr1993_availablecombinations(), esputr1993_check(), esputr1993_deallocate(), esputr1993_getprojectileid(), and esputr1993_init().