Line data Source code
1 : ! ***********************************************************************
2 : !
3 : ! Copyright (C) 2019 Evan Bauer & The MESA Team
4 : !
5 : ! This program is free software: you can redistribute it and/or modify
6 : ! it under the terms of the GNU Lesser General Public License
7 : ! as published by the Free Software Foundation,
8 : ! either version 3 of the License, or (at your option) any later version.
9 : !
10 : ! This program is distributed in the hope that it will be useful,
11 : ! but WITHOUT ANY WARRANTY; without even the implied warranty of
12 : ! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13 : ! See the GNU Lesser General Public License for more details.
14 : !
15 : ! You should have received a copy of the GNU Lesser General Public License
16 : ! along with this program. If not, see <https://www.gnu.org/licenses/>.
17 : !
18 : ! ***********************************************************************
19 :
20 : module other_diffusion_factor
21 :
22 : ! consult star/other/README for general usage instructions
23 : ! control name: use_other_diffusion_factor = .true.
24 : ! procedure pointer: s% other_diffusion_factor => my_routine
25 :
26 : implicit none
27 :
28 : contains
29 :
30 0 : subroutine default_other_diffusion_factor(id, ierr)
31 : use star_def
32 : integer, intent(in) :: id
33 : integer, intent(out) :: ierr
34 : type(star_info), pointer :: s
35 : integer :: num_classes
36 : ierr = 0
37 0 : call star_ptr(id, s, ierr)
38 0 : if (ierr /= 0) return
39 :
40 0 : if (s%diffusion_use_full_net) then
41 0 : num_classes = s%species
42 : else
43 0 : num_classes = s%diffusion_num_classes
44 : end if
45 :
46 0 : s%extra_diffusion_factor(1:num_classes, 1:s%nz) = 1d0
47 0 : end subroutine default_other_diffusion_factor
48 :
49 : end module other_diffusion_factor
50 :
|