extern_lensethirring

Module

Description

This module contains routines relating to the computation of a Lense–Thirring precession torque on the gas particles (See Lodato & Pringle 2006 and references therein) CJN 22/06/11

References:

None

Owner:

Daniel Price

Runtime parameters:
  • blackhole_spin : spin of central black hole (-1 to 1)

Dependencies:

infile_utils, io, physcon, units, vectorutils

Quick access

Variables:

bigg, blackhole_spin, blackhole_spin_angle, calc_omegap, clight, cos_spinangle, sin_spinangle

Routines:

check_lense_thirring_settings(), get_lense_thirring_force(), read_options_ltforce(), update_ltforce(), write_options_ltforce()

Variables

  • extern_lensethirring/bigg [real,private/parameter/optional/default=1.0]
  • extern_lensethirring/blackhole_spin [real,public/optional/default=1.0]
  • extern_lensethirring/blackhole_spin_angle [real,public/optional/default=0.0]
  • extern_lensethirring/calc_omegap [private]
  • extern_lensethirring/clight [real,private/parameter/optional/default=1.0]
  • extern_lensethirring/cos_spinangle [real,public/optional/default=1.0]
  • extern_lensethirring/sin_spinangle [real,public/optional/default=0.0]

    eq. (6) in Nelson/Pap (2000)

Subroutines and functions

subroutine  extern_lensethirring/get_lense_thirring_force(r, vel, bh_mass, vcrossomega)
Parameters:
  • r (3) [real,in]

  • vel (3) [real,in]

  • bh_mass [real,in]

  • vcrossomega (3) [real,out]

Use :

vectorutils (cross_product3d())

Call to:

cross_product3d()

subroutine  extern_lensethirring/update_ltforce(vhalfx, vhalfy, vhalfz, fxi, fyi, fzi, vcrossomega, dkdt, xi, yi, zi, bh_mass)
Parameters:
  • vhalfx [real,in]

  • vhalfy [real,in]

  • vhalfz [real,in]

  • fxi [real,inout]

  • fyi [real,inout]

  • fzi [real,inout]

  • vcrossomega (3) [real,out]

  • dkdt [real,in]

  • xi [real,in]

  • yi [real,in]

  • zi [real,in]

  • bh_mass [real,in]

Use :

vectorutils (cross_product3d(), matrixinvert3d()), io (fatal(), warning())

Call to:

matrixinvert3d(), cross_product3d()

subroutine  extern_lensethirring/check_lense_thirring_settings(ierr, accradius1)
Parameters:
  • ierr [integer,out]

  • accradius1 [real,in]

Use :

units (c_is_unity(), g_is_unity(), get_c_code(), get_g_code()), io (error(), warning())

Call to:

c_is_unity(), get_c_code(), g_is_unity(), get_g_code()

subroutine  extern_lensethirring/write_options_ltforce(iunit)
Parameters:

iunit [integer,in]

Use :

infile_utils (write_inopt()), physcon (pi())

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

  • valstring [character,in]

  • imatch [logical,out]

  • igotall [logical,out]

  • ierr [integer,out]

Use :

io (fatal()), physcon (pi())