Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
useful_funcs.html 30.03 KiB
<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
  <meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />

  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>useful_funcs module &mdash; binary_c-python  documentation</title>
      <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
      <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
  <!--[if lt IE 9]>
    <script src="_static/js/html5shiv.min.js"></script>
  <![endif]-->
  
        <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
        <script src="_static/jquery.js"></script>
        <script src="_static/underscore.js"></script>
        <script src="_static/doctools.js"></script>
        <script crossorigin="anonymous" integrity="sha256-Ae2Vz/4ePdIu6ZyI/5ZGsYnb+m0JlOmKPjt6XZ9JJkA=" src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.4/require.min.js"></script>
    <script src="_static/js/theme.js"></script>
    <link rel="index" title="Index" href="genindex.html" />
    <link rel="search" title="Search" href="search.html" />
    <link rel="next" title="Example notebooks" href="example_notebooks.html" />
    <link rel="prev" title="stellar_types module" href="stellar_types.html" /> 
</head>

<body class="wy-body-for-nav"> 
  <div class="wy-grid-for-nav">
    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
      <div class="wy-side-scroll">
        <div class="wy-side-nav-search" >
            <a href="index.html" class="icon icon-home"> binary_c-python
          </a>
<div role="search">
  <form id="rtd-search-form" class="wy-form" action="search.html" method="get">
    <input type="text" name="q" placeholder="Search docs" />
    <input type="hidden" name="check_keywords" value="yes" />
    <input type="hidden" name="area" value="default" />
  </form>
</div>
        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
              <p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="readme_link.html">Python module for binary_c</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="modules.html">Binarycpython code</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="custom_logging_functions.html">custom_logging_functions module</a></li>
<li class="toctree-l2"><a class="reference internal" href="dicts.html">dicts module</a></li>
<li class="toctree-l2"><a class="reference internal" href="ensemble.html">ensemble module</a></li>
<li class="toctree-l2"><a class="reference internal" href="functions.html">functions module</a></li>
<li class="toctree-l2"><a class="reference internal" href="grid.html">Population class module</a></li>
<li class="toctree-l2"><a class="reference internal" href="plot_functions.html">plot_functions module</a></li>
<li class="toctree-l2"><a class="reference internal" href="population_extensions/analytics.html">Population class extension: analytics module</a></li>
<li class="toctree-l2"><a class="reference internal" href="population_extensions/cache.html">Population class extension: cache module</a></li>
<li class="toctree-l2"><a class="reference internal" href="population_extensions/condor.html">Population class extension: condor module</a></li>
<li class="toctree-l2"><a class="reference internal" href="population_extensions/dataIO.html">Population class extension: dataIO module</a></li>
<li class="toctree-l2"><a class="reference internal" href="population_extensions/distribution_functions.html">Population class extension: distribution_functions module</a></li>
<li class="toctree-l2"><a class="reference internal" href="population_extensions/gridcode.html">Population class extension: gridcode module</a></li>
<li class="toctree-l2"><a class="reference internal" href="population_extensions/grid_logging.html">Population class extension: grid_logging module</a></li>
<li class="toctree-l2"><a class="reference internal" href="population_extensions/grid_options_defaults.html">Population class extension: grid_options_defaults module</a></li>
<li class="toctree-l2"><a class="reference internal" href="population_extensions/HPC.html">Population class extension: HPC module</a></li>
<li class="toctree-l2"><a class="reference internal" href="population_extensions/metadata.html">Population class extension: metadata module</a></li>
<li class="toctree-l2"><a class="reference internal" href="population_extensions/Moe_di_Stefano_2017.html">Population class extension: Moe_di_Stefano_2017 module</a></li>
<li class="toctree-l2"><a class="reference internal" href="population_extensions/slurm.html">Population class extension: slurm module</a></li>
<li class="toctree-l2"><a class="reference internal" href="population_extensions/spacing_functions.html">Population class extension: spacing_functions module</a></li>
<li class="toctree-l2"><a class="reference internal" href="population_extensions/version_info.html">Population class extension: version_info module</a></li>
<li class="toctree-l2"><a class="reference internal" href="run_system_wrapper.html">run_system_wrapper module</a></li>
<li class="toctree-l2"><a class="reference internal" href="stellar_types.html">stellar_types module</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">useful_funcs module</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="example_notebooks.html">Example notebooks</a></li>
<li class="toctree-l1"><a class="reference internal" href="binary_c_parameters.html">Binary_c parameters</a></li>
<li class="toctree-l1"><a class="reference internal" href="grid_options_descriptions.html">Population grid code options</a></li>
<li class="toctree-l1"><a class="reference external" href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python">Visit the GitLab repo</a></li>
<li class="toctree-l1"><a class="reference external" href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/issues/new">Submit an issue</a></li>
</ul>

        </div>
      </div>
    </nav>

    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
          <a href="index.html">binary_c-python</a>
      </nav>

      <div class="wy-nav-content">
        <div class="rst-content">
          <div role="navigation" aria-label="Page navigation">
  <ul class="wy-breadcrumbs">
      <li><a href="index.html" class="icon icon-home"></a> &raquo;</li>
          <li><a href="modules.html">Binarycpython code</a> &raquo;</li>
      <li>useful_funcs module</li>
      <li class="wy-breadcrumbs-aside">
            <a href="_sources/useful_funcs.rst.txt" rel="nofollow"> View page source</a>
      </li>
  </ul>
  <hr/>
</div>
          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
           <div itemprop="articleBody">
             
  
<style>
/* CSS overrides for sphinx_rtd_theme */

/* 24px margin */
.nbinput.nblast.container,
.nboutput.nblast.container {
    margin-bottom: 19px;  /* padding has already 5px */
}

/* ... except between code cells! */
.nblast.container + .nbinput.container {
    margin-top: -19px;
}

.admonition > p:before {
    margin-right: 4px;  /* make room for the exclamation icon */
}

/* Fix math alignment, see https://github.com/rtfd/sphinx_rtd_theme/pull/686 */
.math {
    text-align: unset;
}
</style>
<section id="module-binarycpython.utils.useful_funcs">
<span id="useful-funcs-module"></span><h1>useful_funcs module<a class="headerlink" href="#module-binarycpython.utils.useful_funcs" title="Permalink to this headline"></a></h1>
<p>Collection of useful functions.</p>
<p>Part of this is copied/inspired by Rob’s binary_stars module</p>
<dl class="simple">
<dt>Functions:</dt><dd><ul class="simple">
<li><p>calc_period_from_sep(m1, m2, sep) calculate the period given the separation.</p></li>
<li><p>calc_sep_from_period(m1, m2, per) does the inverse.</p></li>
<li><p>rzams(m, z) gives you the ZAMS radius of a star</p></li>
<li><p>ZAMS_collision(m1, m2, e, sep, z) returns 1 if stars collide on the ZAMS</p></li>
<li><p>roche_lobe(q): returns roche lobe radius in units of separation</p></li>
<li><p>ragb(m): radius at first thermal pulse</p></li>
<li><p>minimum_period_for_RLOF(M1, M2, metallicity, store_memaddr=-1): function to calculate the minimum period that leads to RLOF on ZAMS</p></li>
<li><p>minimum_separation_for_RLOF(M1, M2, metallicity, store_memaddr=-1): function to calculate the minimum period that leads to RLOF on ZAMS</p></li>
<li><p>maximum_mass_ratio_for_RLOF(M1, orbital_period, store_memaddr=None): Function to calculate the maximum mass ratio that leads to RLOF on ZAMS</p></li>
</ul>
</dd>
<dt>Tasks:</dt><dd><ul class="simple">
<li><p>TODO: check whether these functions are correct</p></li>
</ul>
</dd>
</dl>
<dl class="py function">
<dt class="sig sig-object py" id="binarycpython.utils.useful_funcs.calc_period_from_sep">
<span class="sig-prename descclassname"><span class="pre">binarycpython.utils.useful_funcs.</span></span><span class="sig-name descname"><span class="pre">calc_period_from_sep</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">M1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">M2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sep</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binarycpython/utils/useful_funcs.html#calc_period_from_sep"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#binarycpython.utils.useful_funcs.calc_period_from_sep" title="Permalink to this definition"></a></dt>
<dd><p>calculate period from separation</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>M1</strong> (<code class="xref py py-data docutils literal notranslate"><span class="pre">Union</span></code>[<code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code>, <code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code>]) – Primary mass in solar mass</p></li>
<li><p><strong>M2</strong> (<code class="xref py py-data docutils literal notranslate"><span class="pre">Union</span></code>[<code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code>, <code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code>]) – Secondary mass in solar mass</p></li>
<li><p><strong>sep</strong> (<code class="xref py py-data docutils literal notranslate"><span class="pre">Union</span></code>[<code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code>, <code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code>]) – Separation in solar radii</p></li>
</ul>
</dd>
<dt class="field-even">Return type</dt>
<dd class="field-even"><p><code class="xref py py-data docutils literal notranslate"><span class="pre">Union</span></code>[<code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code>, <code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code>]</p>
</dd>
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p>period in days</p>
</dd>
</dl>
</dd></dl>

<dl class="py function">
<dt class="sig sig-object py" id="binarycpython.utils.useful_funcs.calc_sep_from_period">
<span class="sig-prename descclassname"><span class="pre">binarycpython.utils.useful_funcs.</span></span><span class="sig-name descname"><span class="pre">calc_sep_from_period</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">M1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">M2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">period</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binarycpython/utils/useful_funcs.html#calc_sep_from_period"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#binarycpython.utils.useful_funcs.calc_sep_from_period" title="Permalink to this definition"></a></dt>
<dd><p>Calculate separation from period.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>M1</strong> (<code class="xref py py-data docutils literal notranslate"><span class="pre">Union</span></code>[<code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code>, <code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code>]) – Primary mass in solar mass</p></li>
<li><p><strong>M2</strong> (<code class="xref py py-data docutils literal notranslate"><span class="pre">Union</span></code>[<code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code>, <code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code>]) – Secondary mass in solar mass</p></li>
<li><p><strong>period</strong> (<code class="xref py py-data docutils literal notranslate"><span class="pre">Union</span></code>[<code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code>, <code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code>]) – Period of binary in days</p></li>
</ul>
</dd>
<dt class="field-even">Return type</dt>
<dd class="field-even"><p><code class="xref py py-data docutils literal notranslate"><span class="pre">Union</span></code>[<code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code>, <code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code>]</p>
</dd>
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p>Separation in solar radii</p>
</dd>
</dl>
</dd></dl>

<dl class="py function">
<dt class="sig sig-object py" id="binarycpython.utils.useful_funcs.maximum_mass_ratio_for_RLOF">
<span class="sig-prename descclassname"><span class="pre">binarycpython.utils.useful_funcs.</span></span><span class="sig-name descname"><span class="pre">maximum_mass_ratio_for_RLOF</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">M1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">orbital_period</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">metallicity</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.02</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">store_memaddr</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binarycpython/utils/useful_funcs.html#maximum_mass_ratio_for_RLOF"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#binarycpython.utils.useful_funcs.maximum_mass_ratio_for_RLOF" title="Permalink to this definition"></a></dt>
<dd><p>Wrapper function for _binary_c_bindings.return_maximum_mass_ratio_for_RLOF</p>
<p>Handles the output and returns the maximum mass ratio at which RLOF just does not occur at ZAMS</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>M1</strong> – Primary mass in solar mass</p></li>
<li><p><strong>orbital_period</strong> – orbital period in days</p></li>
<li><p><strong>metallicity</strong> – metallicity</p></li>
<li><p><strong>store_memaddr</strong> (<em>optional</em>) – store memory adress</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>maximum mass ratio that just does not cause a RLOF at ZAMS</p>
</dd>
</dl>
</dd></dl>

<dl class="py function">
<dt class="sig sig-object py" id="binarycpython.utils.useful_funcs.minimum_period_for_RLOF">
<span class="sig-prename descclassname"><span class="pre">binarycpython.utils.useful_funcs.</span></span><span class="sig-name descname"><span class="pre">minimum_period_for_RLOF</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">M1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">M2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">metallicity</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">store_memaddr</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">-</span> <span class="pre">1</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binarycpython/utils/useful_funcs.html#minimum_period_for_RLOF"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#binarycpython.utils.useful_funcs.minimum_period_for_RLOF" title="Permalink to this definition"></a></dt>
<dd><p>Wrapper function for _binary_c_bindings.return_minimum_orbit_for_RLOF</p>
<p>Handles the output and returns the minimum orbital period at which RLOF just does not occur at ZAMS</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>M1</strong> – Primary mass in solar mass</p></li>
<li><p><strong>M2</strong> – Secondary mass in solar mass</p></li>
<li><p><strong>metallicity</strong> – metallicity</p></li>
<li><p><strong>store_memaddr</strong> (<em>optional</em>) – store memory address</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>minimum orbital_period that just does not cause a RLOF at ZAMS</p>
</dd>
</dl>
</dd></dl>

<dl class="py function">
<dt class="sig sig-object py" id="binarycpython.utils.useful_funcs.minimum_separation_for_RLOF">
<span class="sig-prename descclassname"><span class="pre">binarycpython.utils.useful_funcs.</span></span><span class="sig-name descname"><span class="pre">minimum_separation_for_RLOF</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">M1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">M2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">metallicity</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">store_memaddr</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">-</span> <span class="pre">1</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binarycpython/utils/useful_funcs.html#minimum_separation_for_RLOF"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#binarycpython.utils.useful_funcs.minimum_separation_for_RLOF" title="Permalink to this definition"></a></dt>
<dd><p>Wrapper function for _binary_c_bindings.return_minimum_orbit_for_RLOF</p>
<p>Handles the output and returns the minimum separation at which RLOF just does not occur at ZAMS</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>M1</strong> – Primary mass in solar mass</p></li>
<li><p><strong>M2</strong> – Secondary mass in solar mass</p></li>
<li><p><strong>metallicity</strong> – metallicity</p></li>
<li><p><strong>store_memaddr</strong> (<em>optional</em>) – store memory adress</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>minimum separation that just does not cause a RLOF at ZAMS</p>
</dd>
</dl>
</dd></dl>

<dl class="py function">
<dt class="sig sig-object py" id="binarycpython.utils.useful_funcs.ragb">
<span class="sig-prename descclassname"><span class="pre">binarycpython.utils.useful_funcs.</span></span><span class="sig-name descname"><span class="pre">ragb</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">m</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binarycpython/utils/useful_funcs.html#ragb"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#binarycpython.utils.useful_funcs.ragb" title="Permalink to this definition"></a></dt>
<dd><p>Function to calculate radius of a star in units of solar radii at first thermal pulse as a function of mass (Z=0.02 only, but also good for Z=0.0001)</p>
<p>TODO: ask rob about this function. Do we still need this? Can we make something better? (i.e. upon installation of the code run a grid of systems and get the data from there?)</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>m</strong> (<code class="xref py py-data docutils literal notranslate"><span class="pre">Union</span></code>[<code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code>, <code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code>]) – mass of star in units of solar mass</p></li>
<li><p><strong>z</strong> – metallicity of star</p></li>
</ul>
</dd>
<dt class="field-even">Return type</dt>
<dd class="field-even"><p><code class="xref py py-data docutils literal notranslate"><span class="pre">Union</span></code>[<code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code>, <code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code>]</p>
</dd>
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p>radius at first thermal pulse in units of solar radii</p>
</dd>
</dl>
</dd></dl>

<dl class="py function">
<dt class="sig sig-object py" id="binarycpython.utils.useful_funcs.roche_lobe">
<span class="sig-prename descclassname"><span class="pre">binarycpython.utils.useful_funcs.</span></span><span class="sig-name descname"><span class="pre">roche_lobe</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">q</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binarycpython/utils/useful_funcs.html#roche_lobe"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#binarycpython.utils.useful_funcs.roche_lobe" title="Permalink to this definition"></a></dt>
<dd><p>A function to evaluate R_L/a(q), Eggleton 1983.</p>
<p># TODO: check the definition of the mass ratio
# TODO: check whether the logs are correct</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>q</strong> (<code class="xref py py-data docutils literal notranslate"><span class="pre">Union</span></code>[<code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code>, <code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code>]) – mass ratio of the binary (secondary/primary). If you input: q = mass_accretor/mass_donor, you will get the rochelobe radius of the accretor. And vice versa for the donor.</p>
</dd>
<dt class="field-even">Return type</dt>
<dd class="field-even"><p><code class="xref py py-data docutils literal notranslate"><span class="pre">Union</span></code>[<code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code>, <code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code>]</p>
</dd>
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p>Roche lobe radius in units of the separation</p>
</dd>
</dl>
</dd></dl>

<dl class="py function">
<dt class="sig sig-object py" id="binarycpython.utils.useful_funcs.rzams">
<span class="sig-prename descclassname"><span class="pre">binarycpython.utils.useful_funcs.</span></span><span class="sig-name descname"><span class="pre">rzams</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">m</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">z</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binarycpython/utils/useful_funcs.html#rzams"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#binarycpython.utils.useful_funcs.rzams" title="Permalink to this definition"></a></dt>
<dd><p>Function to determine the radius of a ZAMS star as a function of m and z:</p>
<p>Based on the fits of Tout et al., 1996, MNRAS, 281, 257</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>m</strong> – mass of star in solar mass</p></li>
<li><p><strong>z</strong> – metallicity</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>radius of star at ZAMS, in solar radii</p>
</dd>
</dl>
</dd></dl>

<dl class="py function">
<dt class="sig sig-object py" id="binarycpython.utils.useful_funcs.zams_collision">
<span class="sig-prename descclassname"><span class="pre">binarycpython.utils.useful_funcs.</span></span><span class="sig-name descname"><span class="pre">zams_collision</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">m1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">m2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sep</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">e</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">z</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binarycpython/utils/useful_funcs.html#zams_collision"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#binarycpython.utils.useful_funcs.zams_collision" title="Permalink to this definition"></a></dt>
<dd><p>given m1,m2, separation and eccentricity (and metallicity)
determine if two stars collide on the ZAMS</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>m1</strong> (<code class="xref py py-data docutils literal notranslate"><span class="pre">Union</span></code>[<code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code>, <code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code>]) – Primary mass in solar mass</p></li>
<li><p><strong>m2</strong> (<code class="xref py py-data docutils literal notranslate"><span class="pre">Union</span></code>[<code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code>, <code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code>]) – Secondary mass in solar mass</p></li>
<li><p><strong>sep</strong> (<code class="xref py py-data docutils literal notranslate"><span class="pre">Union</span></code>[<code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code>, <code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code>]) – separation in solar radii</p></li>
<li><p><strong>e</strong> (<code class="xref py py-data docutils literal notranslate"><span class="pre">Union</span></code>[<code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code>, <code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code>]) – eccentricity</p></li>
<li><p><strong>z</strong> (<code class="xref py py-data docutils literal notranslate"><span class="pre">Union</span></code>[<code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code>, <code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code>]) – metallicity</p></li>
</ul>
</dd>
<dt class="field-even">Return type</dt>
<dd class="field-even"><p><code class="xref py py-data docutils literal notranslate"><span class="pre">Union</span></code>[<code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code>, <code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code>]</p>
</dd>
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p>integer boolean whether the binary stars will collide at pericenter</p>
</dd>
</dl>
</dd></dl>

</section>


           </div>
          </div>
          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
        <a href="stellar_types.html" class="btn btn-neutral float-left" title="stellar_types module" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
        <a href="example_notebooks.html" class="btn btn-neutral float-right" title="Example notebooks" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
    </div>

  <hr/>

  <div role="contentinfo">
    <p>&#169; Copyright 2021, David Hendriks, Robert Izzard.</p>
  </div>

  Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
    <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
    provided by <a href="https://readthedocs.org">Read the Docs</a>.
  
<br><br>
Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 98800913e43e79be08c3c3424d3afe80a0b7ad4c url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
<br><br>
Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.



</footer>
        </div>
      </div>
    </section>
  </div>
  <script>
      jQuery(function () {
          SphinxRtdTheme.Navigation.enable(true);
      });
  </script> 

</body>
</html>