cons2primsolver

Module

Description

Internal routines containing the GR conservative to primitive variable solver, as described in section 7 of Liptai & Price (2019)

References:

Liptai & Price (2019), MNRAS 485, 819 Tejeda (2012), PhD thesis, IAS Trieste

Owner:

David Liptai

Runtime parameters:

None

Dependencies:

eos, io, metric_tools, part, physcon, units, utils_gr

Quick access

Variables:

get_u

Routines:

conservative2primitive(), primitive2conservative()

Needed modules

  • eos (ieos(), polyk())

  • part (ien_etotal(), ien_entropy(), ien_entropy_s())

Variables

  • cons2primsolver/get_u [private]

Subroutines and functions

subroutine  cons2primsolver/primitive2conservative(x, metrici, v, dens, u, p, rho, pmom, en, ien_type)
Parameters:
  • x (3) [real,in]

  • metrici (,,*) [real,in]

  • v (3) [real,in]

  • dens [real,in]

  • u [real,in]

  • p [real,in]

  • rho [real,out]

  • pmom (3) [real,out]

  • en [real,out]

  • ien_type [integer,in]

Use :

utils_gr (get_u0(), get_sqrtg()), metric_tools (unpack_metric()), io (error()), eos (gmw(), get_entropy())

Called from:

prim2consi()

subroutine  cons2primsolver/conservative2primitive(x, metrici, v, dens, u, p, temp, gamma, rho, pmom, en, ierr, ien_type)
Parameters:
  • x (3) [real,in]

  • metrici (,,*) [real,in]

  • v (3) [real,out]

  • dens [real,inout] :: update enth with temp instead of NR

  • u [real,inout]

  • p [real,inout]

  • temp [real,inout]

  • gamma [real,inout]

  • rho [real,in]

  • pmom (3) [real,in]

  • en [real,in]

  • ierr [integer,out]

  • ien_type [integer,in]

Use :

utils_gr (get_sqrtg(), get_sqrt_gamma()), metric_tools (unpack_metric()), eos (ieos(), gmw(), get_entropy(), get_p_from_rho_s(), gamma_global() => gamma_global()), io (fatal()), physcon (radconst(), rg()), units (unit_density(), unit_ergg())

Called from:

cons2primall()