extern_densprofile

Module

Description

This module contains routines relating to the computation

of the background gravitational force/potential for a (neutron) star, from the equilibrium density profile

References:

None

Owner:

Daniel Price

Runtime parameters:

None

Dependencies:

datafiles, io, physcon, units

Quick access

Variables:

fsurf, ftab, indexbelow, nrhotab, ntab, r2surf, r2tab, rhotabfile

Routines:

calc_menc(), densityprofile_force(), load_extern_densityprofile(), read_rhotab(), read_rhotab_wrapper(), write_rhotab()

Variables

  • extern_densprofile/fsurf [real,public]
  • extern_densprofile/ftab (*) [real,allocatable/public]
  • extern_densprofile/indexbelow [private]
  • extern_densprofile/nrhotab [integer,parameter=5000]

    maximum allowed size of r rho tabulated arrays

  • extern_densprofile/ntab [integer,public]
  • extern_densprofile/r2surf [real,public]
  • extern_densprofile/r2tab (*) [real,allocatable/public]
  • extern_densprofile/rhotabfile [character,parameter='density-profile.tab']
  • extern_densprofile/yinterp [private]

Subroutines and functions

subroutine  extern_densprofile/densityprofile_force(xi, yi, zi, fxi, fyi, fzi, phi)
Parameters:
  • xi [real,in]

  • yi [real,in]

  • zi [real,in]

  • fxi [real,out]

  • fyi [real,out]

  • fzi [real,out]

  • phi [real,out]

subroutine  extern_densprofile/load_extern_densityprofile(ierr)
Parameters:

ierr [integer,out]

Use :

units (get_g_code()), io (error())

Call to:

read_rhotab(), calc_menc(), get_g_code()

subroutine  extern_densprofile/read_rhotab(filename, rsize, rtab, rhotab, nread, polyk, gamma, rhoc, ierr)
Parameters:
  • filename [character,in]

  • rsize [integer,in]

  • rtab (rsize) [real,out]

  • rhotab (rsize) [real,out]

  • nread [integer,out]

  • polyk [real,out]

  • gamma [real,out]

  • rhoc [real,out]

  • ierr [integer,out]

Use :

io (error(), id(), master())

Called from:

load_extern_densityprofile(), read_rhotab_wrapper()

subroutine  extern_densprofile/write_rhotab(filename, rtab, rhotab, ntab, polyk, gamma, rhoc, ierr)
Parameters:
  • filename [character,in]

  • rtab (*) [real,in]

  • rhotab (*) [real,in]

  • ntab [integer,in]

  • polyk [real,in]

  • gamma [real,in]

  • rhoc [real,in]

  • ierr [integer,inout]

subroutine  extern_densprofile/calc_menc(n, r, rho[, menc_out[, totmass]])
Parameters:
  • n [integer,in]

  • r (*) [real,in]

  • rho (*) [real,in]

  • menc_out (n) [real,out,]

  • totmass [real,out,]

Use :

physcon (pi())

Called from:

load_extern_densityprofile(), read_rhotab_wrapper()

subroutine  extern_densprofile/read_rhotab_wrapper(densityfile, ng, r, den, npts, polyk, gamma, rhoc, mstar, iexist, ierr)
Parameters:
  • densityfile [character,in]

  • ng [integer,in]

  • r (ng) [real,out]

  • den (ng) [real,out]

  • npts [integer,out]

  • polyk [real,out]

  • gamma [real,out]

  • rhoc [real,out]

  • mstar [real,out]

  • iexist [logical,out]

  • ierr [integer,out]

Use :

datafiles (find_phantom_datafile())

Call to:

find_phantom_datafile(), read_rhotab(), calc_menc()