Line data Source code
1 : ! ***********************************************************************
2 : !
3 : ! Copyright (C) 2010 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_wind
21 :
22 : ! consult star/other/README for general usage instructions
23 : ! control name: use_other_wind = .true.
24 : ! procedure pointer: s% other_wind => my_routine
25 :
26 : ! you can add your own wind routine for use when wind scheme == 'other'
27 :
28 : implicit none
29 :
30 : contains
31 :
32 : ! Note that your routine will be called before many star variables have been set.
33 : ! If you rely on these, you should call the star_set_vars_in_part1 routine from star_lib
34 : ! to ensure that they are set.
35 0 : subroutine null_other_wind(id, Lsurf, Msurf, Rsurf, Tsurf, X, Y, Z, w, ierr)
36 : use star_def
37 : integer, intent(in) :: id
38 : real(dp), intent(in) :: Lsurf, Msurf, Rsurf, Tsurf, X, Y, Z ! surface values (cgs)
39 : ! NOTE: surface is outermost cell. not necessarily at photosphere.
40 : ! NOTE: don't assume that vars are set at this point.
41 : ! so if you want values other than those given as args,
42 : ! you should use values from s% xh(:,:) and s% xa(:,:) only.
43 : ! rather than things like s% Teff or s% lnT(:) which have not been set yet.
44 : real(dp), intent(out) :: w ! wind in units of Msun/year (value is >= 0)
45 : integer, intent(out) :: ierr
46 0 : w = 0
47 0 : ierr = 0
48 0 : end subroutine null_other_wind
49 :
50 : end module other_wind
51 :
|