evolve

class cosmic.evolve.Evolve

Bases: object

classmethod evolve(initialbinarytable, **kwargs)

After setting a number of initial conditions we evolve the system.

Parameters

initialbinarytable : DataFrame

Initial conditions of the binary

**kwargs:

There are three ways to tell evolve and thus the fortran what you want all the flags and other BSE specific parameters to be. If you pass both a dictionary of flags and/or a inifile and a table with the BSE parameters in the columns, the column values will be overwritten by what is in the dictionary or ini file.

NUMBER 1: PASS A DICTIONARY OF FLAGS

BSEDict

NUMBER 2: PASS A PANDAS DATA FRAME WITH PARAMS DEFINED AS COLUMNS

All you need is the initialbinarytable if the all the BSE parameters are defined as columns

NUMBER 3: PASS PATH TO A INI FILE WITH THE FLAGS DEFINED

params

randomseed : int, optional, default let numpy choose for you

If you would like the random seed that the underlying fortran code uses to be the same for all of the initial conditions you passed then you can send this keyword argument in. It is recommended to just let numpy choose a random number as the Fortran random seed and then this number will be returned as a column in the initial binary table so that you can reproduce the results.

nproc : int, optional, default: 1

number of CPUs to use to evolve systems in parallel

idx : int, optional, default: 0

initial index of the bcm/bpp arrays

dtp : float, optional: default: tphysf

timestep size in Myr for bcm output where tphysf is total evolution time in Myr

n_per_block : int, optional, default: -1

number of systems to evolve in a block with _evolve_multi_system, to allow larger multiprocessing queues and reduced overhead. If less than 1 use _evolve_single_system

Returns

output_bpp : DataFrame

Evolutionary history of each binary

output_bcm : DataFrame

Final state of each binary

initialbinarytable : DataFrame

Initial conditions for each binary