Line data Source code
1 : ! ***********************************************************************
2 : !
3 : ! Copyright (C) 2020-2021 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_compton_opacity
21 :
22 : ! consult star/other/README for general usage instructions
23 : ! kap namelist option: use_other_compton_opacity = .true.
24 : ! procedure pointers: s% kap_rq % other_compton_opacity => my_routine
25 :
26 : use kap_def
27 :
28 : implicit none
29 :
30 :
31 : contains
32 :
33 0 : subroutine null_other_compton_opacity( &
34 : handle, &
35 : Rho, T, lnfree_e, d_lnfree_e_dlnRho, d_lnfree_e_dlnT, &
36 : eta, d_eta_dlnRho, d_eta_dlnT, &
37 : kap, dlnkap_dlnRho, dlnkap_dlnT, ierr)
38 : use const_def, only: dp
39 : integer, intent(in) :: handle ! kap handle; from star, pass s% kap_handle
40 : real(dp), intent(in) :: Rho, T
41 : real(dp), intent(in) :: lnfree_e, d_lnfree_e_dlnRho, d_lnfree_e_dlnT
42 : ! free_e := total combined number per nucleon of free electrons and positrons
43 : real(dp), intent(in) :: eta, d_eta_dlnRho, d_eta_dlnT
44 : ! eta := electron degeneracy parameter from eos
45 : real(dp), intent(out) :: kap ! electron conduction opacity
46 : real(dp), intent(out) :: dlnkap_dlnRho, dlnkap_dlnT
47 : integer, intent(out) :: ierr ! 0 means AOK.
48 :
49 0 : write(*,*) 'no implementation for other_compton_opacity'
50 0 : ierr = -1
51 :
52 : ! can first call kap_lib routine to get standard results, if desired
53 :
54 : ! subroutine kap_get_compton_opacity( &
55 : ! handle, &
56 : ! Rho, T, lnfree_e, d_lnfree_e_dlnRho, d_lnfree_e_dlnT, &
57 : ! eta, d_eta_dlnRho, d_eta_dlnT, &
58 : ! kap, dlnkap_dlnRho, dlnkap_dlnT, ierr)
59 :
60 0 : end subroutine null_other_compton_opacity
61 :
62 : end module other_compton_opacity
|