Brown Dwarf Evolutionary Model Package¶
The SPLAT brown dwarf evolutionary model package serves routines that allow for the conversion between physical parameters (e.g., mass, age, metallicity) and observable parameters (temperature, luminosity, radius, surface gravity). Parameters are determined through logarithmic linear interpolation.
The evolutionary models currently available through this package are:
burrows: Burrows et al. (2001) for 1 Myr < age < 10 Gyr, 0.005 Msol < mass < 0.2 Msol, and solar metallicity
baraffe: Baraffe et al. (2003) for 1 Myr < age < 10 Gyr, 0.005 Msol < mass < 0.1 Msol, and solar metallicity (COND dust prescription)
- saumon: Saumon et al. (2003) for 3 Myr < age < 10 Gyr, 0.002 Msol < mass < 0.085 Msol (although this varies, as the maximum temperature is 2500 K); in addition, there are options for
metallicity
=solar
,+0.3
,-0.3
cloud
=cloud-free
,hybrid
,f2
-
bdevopar.
modelParameters
(*model, **kwargs)¶ Description: Allows the user to input a list of parameters.
Returns: >>> model = ReadModel('baraffe') >>> m = [0.04,0.06,0.07] >>> a = [0.001,0.003,0.004] >>> params = ParamsList(model,masses=m,ages=a) >>> print params
-
bdevopar.
modelParametersSingle
(*args, **kwargs)¶ Description: Checks that the input parameters are valid (e.g user inputs must be capable of being interpolated). Interpolation between evolutionary models is done here as well, and we used the method interp1d from numpy.
Parameters: - *args –
If you’re using Saumon’s models, then u must specified the metallicity since there’s 5 total: hybrid_solar, f2_solar, nc+0.3, nc-0.3, and nc_solar.
- *kwargs –
You must input any of the two following parameters: age, mass, temperature, luminosity, gravity, or radius.
Returns: Returns the interpolated parameters.
Examples:
>>> model = ReadModel('saumon', z='hybrid_solar') >>> saumon = Parameters(model, mass=0.4, age=0.01) >>> model = ReadModel('saumon', z='nc+0.3') >>> saumon = Parameters(a=0.01, mss=0.4) >>> model = ReadModel('saumon', z='nc-0.3') >>> saumon = Parameters(mas=0.4, RiUS=0.01) >>> model = ReadModel('saumon', z='nc_solar') >>> saumon = Parameters(M=0.4, AgE=0.01) >>> model = ReadModel('saumon', z='f2_solar') >>> saumon = Parameters(adf=0.01, MASSSS=0.4)
>>> model = ReadModel('baraffe', z='f2_solar') >>> burrows = Parameters(model, L=0.05, Gradfty=0.4) >>> model = ReadModel('burrows', z='f2_solar') >>> baraffe = Parameters(model, temp=2000, age=0.4)
Note
Keyword spelling doesn’t matter as long as the first letter is right. Also, ordering of the keywords is not important. However, metallicites must be spelled exactly as mentioned aboved–there are no execptions.
- *args –
-
bdevopar.
plotModelParameters
(parameters, xparam, yparam, **kwargs)¶
-
bdevopar.
readModel
(*model, **kwargs)¶ Description: This class reads in evolutionary models that are defined in the methods below, and their data is acquired here. Units are the following: masses are in M/Msun, luminosities in log L/Lsun, radius in R/Rsun, surface gravities in log g (cm/s^2), temperatures in Kelvin, and ages in Gyr. Each evolutionary model gives snapshots of brown dwarfs with different masses and other physical properties as a function of time. Parameters: model – - baraffe:
Isochrones from Baraffe et. la models (2003), described in the
<https://perso.ens-lyon.fr/isabelle.baraffe/COND03_models>`_. Ages (in Gyr) used for interpolation were the following:
>>> from bdevopar import * >>> print readModel('baraffe')['age'] [0.001, 0.005, 0.01, 0.05, 0.1, 0.12, 0.5, 1.0, 5.0, 10.0] >>> print readModel('BaraFfE')['age'] [0.001, 0.005, 0.01, 0.05, 0.1, 0.12, 0.5, 1.0, 5.0, 10.0]
Note
Capilatizing some letters or none won’t cause any problems. However, incorrect spelling will raise a NameError, so please make sure you spell correctly.
- burrows:
- saumon:
Isochrones from Saumon & Marley models (2008), described in
paper.
Original models’ URL and the README used to differentiate
between metallicites are found here.
Brown dwarfs ages used here are as follows:
>>> from bdevopar import * >>> print readModel('saumon')['age'] [0.003, 0.004, 0.006, 0.008, 0.01, 0.015, 0.02, 0.03, 0.04, 0.06, 0.08, 0.1, 0.15, 0.2, 0.3, 0.4, 0.6, 0.8, 1.0, 1.5, 2.0, 3.0, 4.0, 6.0, 8.0, 10.0]
metallicity: - nc_solar: The atmosphere model is cloudless with [M/H]=0
- nc+0.3: The atmosphere model is cloudless with [M/H]=+0.3
- nc-0.3: The atmosphere model is cloudless with [M/H]=-0.3
- f2_solar: Atmosphere model is cloudless Fsed=2) with [M/H]=0
- hybrid_solar Atmosphere cloudless(Fsed=2 to nc) with [M/H]=0
>>> from bdevopar import * >>> saumon = readModel('saumon',metallicity='nc_solar') >>> saumon = readModel('saumon',metallicity='f2_solar') >>> saumon = readModel('saumon',metallicity='hybri_solar')
Return: A dictionary where each key maps to a 3 dimensional matrix. The dimensions are as follows: (Age x Mass x OtherParam). This method is used in the subclass Parameters, which is further discussed in the section belowed. - baraffe:
Isochrones from Baraffe et. la models (2003), described in the