extern_gwinspiral

Module

Description

Simulates the inspiral of two stars in a circular orbit caused by gravitational wave

radiation. Author: Bernard Field (supervisor: James Wurster & Paul Lasky)

References:

e.g. Tong (2015) classical dynamics lecture notes

Owner:

Daniel Price

Runtime parameters:
  • stop_ratio : ratio of particles crossing CoM to indicate a merger

Dependencies:

centreofmass, dump_utils, infile_utils, io, units

Quick access

Variables:

com, comstar1, comstar2, fstar1, fstar1_coef, fstar2, fstar2_coef, isseparate, n_threshhold, nstar, stopratio, vcomstar1, vcomstar2

Routines:

get_gw_force(), get_gw_force_i(), gw_still_inspiralling(), initialise_gwinspiral(), read_headeropts_gwinspiral(), read_options_gwinspiral(), write_headeropts_gwinspiral(), write_options_gwinspiral()

Variables

  • extern_gwinspiral/com (3) [real,private]
  • extern_gwinspiral/comstar1 (3) [real,private]
  • extern_gwinspiral/comstar2 (3) [real,private]
  • extern_gwinspiral/fstar1 (3) [real,private]
  • extern_gwinspiral/fstar1_coef [real,private]
  • extern_gwinspiral/fstar2 (3) [real,private]
  • extern_gwinspiral/fstar2_coef [real,private]
  • extern_gwinspiral/isseparate [logical,private/optional/default=.true.]
  • extern_gwinspiral/n_threshhold [integer,private]
  • extern_gwinspiral/nstar (2) [integer,public/optional/default=0]

    give default value in case dump header not read

  • extern_gwinspiral/stopratio [real,public/optional/default=0.005]
  • extern_gwinspiral/vcomstar1 (3) [real,private]
  • extern_gwinspiral/vcomstar2 (3) [real,private]

Subroutines and functions

subroutine  extern_gwinspiral/initialise_gwinspiral(npart, nptmass, ierr)
Parameters:
  • npart [integer,in]

  • nptmass [integer,in]

  • ierr [integer,out]

subroutine  extern_gwinspiral/gw_still_inspiralling(npart, xyzh, vxyzu, nptmass, xyzmh_ptmass, vxyz_ptmass, stopped_now)
Parameters:
  • npart [integer,in]

  • xyzh (,) [real,in]

  • vxyzu (,) [real,in]

  • nptmass [integer,in]

  • xyzmh_ptmass (,) [real,in]

  • vxyz_ptmass (,) [real,in]

  • stopped_now [logical,out] :: to trigger a print statement

Use :

units (get_c_code()), centreofmass (get_centreofmass())

Call to:

get_c_code(), get_centreofmass()

subroutine  extern_gwinspiral/get_gw_force()
subroutine  extern_gwinspiral/get_gw_force_i(i, fextxi, fextyi, fextzi, phi)
Parameters:
  • i [integer,in]

  • fextxi [real,inout]

  • fextyi [real,inout]

  • fextzi [real,inout]

  • phi [real,inout]

subroutine  extern_gwinspiral/write_options_gwinspiral(iunit)
Parameters:

iunit [integer,in]

Use :

infile_utils (write_inopt())

subroutine  extern_gwinspiral/read_options_gwinspiral(name, valstring, imatch, igotall, ierr)
Parameters:
  • name [character,in]

  • valstring [character,in]

  • imatch [logical,out]

  • igotall [logical,out]

  • ierr [integer,out]

Use :

io (fatal())

subroutine  extern_gwinspiral/write_headeropts_gwinspiral(hdr, ierr)
Parameters:
  • hdr [dump_h,inout]

  • ierr [integer,out]

Use :

dump_utils (dump_h(), add_to_header())

subroutine  extern_gwinspiral/read_headeropts_gwinspiral(hdr, nptmass, ierr)
Parameters:
  • hdr [dump_h,in]

  • nptmass [integer,in]

  • ierr [integer,out]

Use :

dump_utils (dump_h(), extract())