set_binary
Module
Description
- This module is contains utilities for setting up binaries
Our conventions for binary orbital parameters are consistent with those produced by the imorbel code (Pearce, Wyatt & Kennedy 2015) which can be used to produce orbits matching observed orbital arcs of binary companions on the sky
- References:
Eggleton (1983) ApJ 268, 368-369 (ref:eggleton83) Lucy (2014), A&A 563, A126 Pearce, Wyatt & Kennedy (2015), MNRAS 448, 3679 https://en.wikipedia.org/wiki/Orbital_elements
- Owner:
Daniel Price
- Runtime parameters:
None
- Dependencies:
binaryutils
Quick access
- Variables:
get_cross_product
,get_eccentricity_vector_sinks
,ierr_hier1
,ierr_hier2
,ierr_missstar
,ierr_omegasubst
,ierr_semi
,ierr_subststar
,rotate
- Routines:
get_a_from_period()
,get_eccentricity_vector()
,get_mean_angmom_vector()
,l1_point()
,rochelobe_estimate()
,set_binary()
Variables
- setbinary/get_cross_product [private]
- setbinary/get_eccentricity_vector_sinks [private]
- setbinary/ierr_ecc [integer,private/parameter/optional/default=3]
- setbinary/ierr_hier1 [integer,private/parameter/optional/default=5]
- setbinary/ierr_hier2 [integer,private/parameter/optional/default=6]
- setbinary/ierr_m1 [integer,private/parameter/optional/default=1]
- setbinary/ierr_m2 [integer,private/parameter/optional/default=2]
- setbinary/ierr_missstar [integer,private/parameter/optional/default=9]
- setbinary/ierr_omegasubst [integer,private/parameter/optional/default=8]
- setbinary/ierr_semi [integer,private/parameter/optional/default=4]
- setbinary/ierr_subststar [integer,private/parameter/optional/default=7]
- setbinary/pi [real,private/parameter/optional/default=4.*atan(1.)]
- setbinary/rotate [private]
Subroutines and functions
- subroutine setbinary/set_binary(m1, m2, semimajoraxis, eccentricity, accretion_radius1, accretion_radius2, xyzmh_ptmass, vxyz_ptmass, nptmass, ierr[, omega_corotate[, posang_ascnode[, arg_peri[, incl[, f[, mean_anomaly[, verbose]]]]]]])
- Parameters:
m1 [real,in]
m2 [real,in]
semimajoraxis [real,in]
eccentricity [real,in]
accretion_radius1 [real,in]
accretion_radius2 [real,in]
xyzmh_ptmass (,) [real,inout]
vxyz_ptmass (,) [real,inout]
nptmass [integer,inout]
ierr [integer,out]
omega_corotate [real,out,]
posang_ascnode [real,in,]
arg_peri [real,in,]
incl [real,in,]
f [real,in,]
mean_anomaly [real,in,]
verbose [logical,in,]
- Use :
binaryutils
(get_e()
,get_e_from_mean_anomaly()
,get_e_from_true_anomaly()
)- Call to:
rochelobe_estimate()
,get_e_from_true_anomaly()
,get_e_from_mean_anomaly()
,get_e()
- function setbinary/rochelobe_estimate(m1, m2, sep)
- Parameters:
m1 [real,in]
m2 [real,in]
sep [real,in]
- Return:
rochelobe_estimate [real]
- Called from:
- function setbinary/l1_point(qinv)
- Parameters:
qinv [real,in]
- Return:
l1_point [real]
- function setbinary/get_a_from_period(m1, m2, period)
- Parameters:
m1 [real,in]
m2 [real,in]
period [real,in]
- Return:
a [real]
- function setbinary/get_eccentricity_vector(m1, m2, x1, x2, v1, v2)
- Parameters:
m1 [real,in]
m2 [real,in] :: “standard gravitational parameter”
x1 (3) [real,in]
x2 (3) [real,in]
v1 (3) [real,in]
v2 (3) [real,in]
- Return:
get_eccentricity_vector (3) [real]
- Called from:
- Call to:
- function setbinary/get_mean_angmom_vector(n, xyz, vxyz)
- Parameters:
n [integer,in]
xyz (,) [real,in]
vxyz (,) [real,in]
- Return:
l (3) [real]