Line data Source code
1 : ! ***********************************************************************
2 : !
3 : ! Copyright (C) 2012 Bill Paxton, Pablo Marchant & 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 mod_other_tsync
21 :
22 : ! NOTE: remember to set true:
23 : ! use_other_tsync = .true.
24 :
25 : implicit none
26 :
27 : contains
28 :
29 0 : subroutine null_other_tsync(id, sync_type, Ftid, qratio, m, r_phot, osep, t_sync, ierr)
30 : use const_def, only: dp, strlen
31 : use binary_def, only : binary_info, binary_ptr
32 : use star_def, only : star_info, star_ptr
33 : integer, intent(in) :: id
34 : character (len=strlen), intent(in) :: sync_type ! synchronization timescale
35 : real(dp), intent(in) :: Ftid ! efficiency of tidal synchronization. (time scale / Ftid ).
36 : real(dp), intent(in) :: qratio ! mass_other_star/mass_this_star
37 : real(dp), intent(in) :: m
38 : real(dp), intent(in) :: r_phot
39 : real(dp), intent(in) :: osep ! orbital separation (cm)
40 : real(dp), intent(out) :: t_sync
41 : integer, intent(out) :: ierr
42 : type (binary_info), pointer :: b
43 : type (star_info), pointer :: s
44 :
45 : ierr = 0
46 0 : call star_ptr(id, s, ierr)
47 0 : if (ierr /= 0) then
48 0 : write(*,*) 'failed in star_ptr'
49 0 : return
50 : end if
51 :
52 0 : call binary_ptr(s% binary_id, b, ierr)
53 0 : if (ierr /= 0) then
54 0 : write(*,*) 'failed in binary_ptr'
55 0 : return
56 : end if
57 0 : t_sync = 1d99
58 0 : end subroutine null_other_tsync
59 :
60 : end module mod_other_tsync
61 :
|