diffstar_base Module

This MODULE contains the definition of TYPE diffstarbase, which is an ABSTRACT TYPE representing any possible type of initial data (\(\mathrm{ID}\)) for a differentially rotating star (\(\mathrm{DRS}\)) to be set up for \(\texttt{SPHINCS_BSSN}\). That is, \(\mathrm{DRS}\) \(\mathrm{ID}\) produced with \(\texttt{LORENE}\), with \(\texttt{FUKA}\), etc.

PROCEDURES and variables shared by all the types of \(\mathrm{DRS}\) \(\mathrm{ID}\) should belong to TYPE diffstarbase, as they are inherited by its EXTENDED TYPES that represent more specific types of \(\mathrm{DRS}\) \(\mathrm{ID}\).

FT 22.10.2021



Uses

  • module~~diffstar_base~~UsesGraph module~diffstar_base diffstar_base module~id_base id_base module~diffstar_base->module~id_base module~utility utility module~diffstar_base->module~utility module~id_base->module~utility timing timing module~id_base->timing constants constants module~utility->constants matrix matrix module~utility->matrix

Used by

  • module~~diffstar_base~~UsedByGraph module~diffstar_base diffstar_base module~access~6 access module~access~6->module~diffstar_base module~diffstar_lorene diffstar_lorene module~diffstar_lorene->module~diffstar_base module~io~7 io module~io~7->module~diffstar_base module~access~7 access module~access~7->module~diffstar_lorene module~constructor~4 constructor module~constructor~4->module~diffstar_lorene module~io~8 io module~io~8->module~diffstar_lorene module~memory~5 memory module~memory~5->module~diffstar_lorene module~properties~3 properties module~properties~3->module~diffstar_lorene module~read~3 read module~read~3->module~diffstar_lorene module~sphincs_id_full sphincs_id_full module~sphincs_id_full->module~diffstar_lorene module~sphincs_id_lorene sphincs_id_lorene module~sphincs_id_lorene->module~diffstar_lorene program~convergence_test convergence_test program~convergence_test->module~sphincs_id_full program~convergence_test->module~sphincs_id_lorene program~sphincs_id sphincs_id program~sphincs_id->module~sphincs_id_full program~sphincs_id->module~sphincs_id_lorene

Contents


Interfaces

interface

  • public module function get_adm_mass(this)

    Returns 0 (the ADM mass is not necessarily known for this TYPE)

    Arguments

    Type IntentOptional Attributes Name
    class(diffstarbase), intent(in) :: this

    diffstarbase object which this PROCEDURE is a member of

    Return Value double precision

interface

  • public pure module function get_angular_momentum(this)

    Arguments

    Type IntentOptional Attributes Name
    class(diffstarbase), intent(in) :: this

    diffstarbase object which this PROCEDURE is a member of

    Return Value double precision

interface

  • public pure module function get_area_radius(this)

    Arguments

    Type IntentOptional Attributes Name
    class(diffstarbase), intent(in) :: this

    diffstarbase object which this PROCEDURE is a member of

    Return Value double precision

interface

  • public module function get_barycenter(this, i_matter)

    Arguments

    Type IntentOptional Attributes Name
    class(diffstarbase), intent(in) :: this

    diffstarbase object which this PROCEDURE is a member of

    integer, intent(in) :: i_matter

    Index of the matter object whose parameter is to return

    Return Value double precision, DIMENSION(3)

interface

  • public module function get_center(this, i_matter)

    Arguments

    Type IntentOptional Attributes Name
    class(diffstarbase), intent(in) :: this

    diffstarbase object which this PROCEDURE is a member of

    integer, intent(in) :: i_matter

    Index of the matter object whose parameter is to return

    Return Value double precision, DIMENSION(3)

interface

  • public pure module function get_energy_density_center(this)

    Arguments

    Type IntentOptional Attributes Name
    class(diffstarbase), intent(in) :: this

    diffstarbase object which this PROCEDURE is a member of

    Return Value double precision

interface

  • public pure module function get_ent_center(this)

    Arguments

    Type IntentOptional Attributes Name
    class(diffstarbase), intent(in) :: this

    diffstarbase object which this PROCEDURE is a member of

    Return Value double precision

interface

  • public module function get_eos(this, i_matter)

    Arguments

    Type IntentOptional Attributes Name
    class(diffstarbase), intent(in) :: this

    diffstarbase object which this PROCEDURE is a member of

    integer, intent(in) :: i_matter

    Index of the matter object whose string is to return

    Return Value character(len=:), ALLOCATABLE

interface

  • public module function get_eos_id(this, i_matter)

    Arguments

    Type IntentOptional Attributes Name
    class(diffstarbase), intent(in) :: this

    diffstarbase object owning this PROCEDURE

    integer, intent(in) :: i_matter

    Index of the matter object whose string is to return

    Return Value integer

    Result

interface

  • public pure module function get_f_isco(this)

    Arguments

    Type IntentOptional Attributes Name
    class(diffstarbase), intent(in) :: this

    diffstarbase object which this PROCEDURE is a member of

    Return Value double precision

interface

  • public pure module function get_gamma(this)

    Arguments

    Type IntentOptional Attributes Name
    class(diffstarbase), intent(in) :: this

    diffstarbase object which this PROCEDURE is a member of

    Return Value double precision

interface

  • public pure module function get_gamma0(this)

    Arguments

    Type IntentOptional Attributes Name
    class(diffstarbase), intent(in) :: this

    diffstarbase object which this PROCEDURE is a member of

    Return Value double precision

interface

  • public pure module function get_gamma1(this)

    Arguments

    Type IntentOptional Attributes Name
    class(diffstarbase), intent(in) :: this

    diffstarbase object which this PROCEDURE is a member of

    Return Value double precision

interface

  • public pure module function get_gamma2(this)

    Arguments

    Type IntentOptional Attributes Name
    class(diffstarbase), intent(in) :: this

    diffstarbase object which this PROCEDURE is a member of

    Return Value double precision

interface

  • public pure module function get_gamma3(this)

    Arguments

    Type IntentOptional Attributes Name
    class(diffstarbase), intent(in) :: this

    diffstarbase object which this PROCEDURE is a member of

    Return Value double precision

interface

  • public pure module function get_grv2(this)

    Arguments

    Type IntentOptional Attributes Name
    class(diffstarbase), intent(in) :: this

    diffstarbase object which this PROCEDURE is a member of

    Return Value double precision

interface

  • public pure module function get_grv3(this)

    Arguments

    Type IntentOptional Attributes Name
    class(diffstarbase), intent(in) :: this

    diffstarbase object which this PROCEDURE is a member of

    Return Value double precision

interface

  • public pure module function get_kappa(this)

    Arguments

    Type IntentOptional Attributes Name
    class(diffstarbase), intent(in) :: this

    diffstarbase object which this PROCEDURE is a member of

    Return Value double precision

interface

  • public pure module function get_kappa0(this)

    Arguments

    Type IntentOptional Attributes Name
    class(diffstarbase), intent(in) :: this

    diffstarbase object which this PROCEDURE is a member of

    Return Value double precision

interface

  • public pure module function get_kappa1(this)

    Arguments

    Type IntentOptional Attributes Name
    class(diffstarbase), intent(in) :: this

    diffstarbase object which this PROCEDURE is a member of

    Return Value double precision

interface

  • public pure module function get_kappa2(this)

    Arguments

    Type IntentOptional Attributes Name
    class(diffstarbase), intent(in) :: this

    diffstarbase object which this PROCEDURE is a member of

    Return Value double precision

interface

  • public pure module function get_kappa3(this)

    Arguments

    Type IntentOptional Attributes Name
    class(diffstarbase), intent(in) :: this

    diffstarbase object which this PROCEDURE is a member of

    Return Value double precision

interface

  • public pure module function get_logP1(this)

    Arguments

    Type IntentOptional Attributes Name
    class(diffstarbase), intent(in) :: this

    diffstarbase object which this PROCEDURE is a member of

    Return Value double precision

interface

  • public pure module function get_logRho0(this)

    Arguments

    Type IntentOptional Attributes Name
    class(diffstarbase), intent(in) :: this

    diffstarbase object which this PROCEDURE is a member of

    Return Value double precision

interface

  • public pure module function get_logRho1(this)

    Arguments

    Type IntentOptional Attributes Name
    class(diffstarbase), intent(in) :: this

    diffstarbase object which this PROCEDURE is a member of

    Return Value double precision

interface

  • public pure module function get_logRho2(this)

    Arguments

    Type IntentOptional Attributes Name
    class(diffstarbase), intent(in) :: this

    diffstarbase object which this PROCEDURE is a member of

    Return Value double precision

interface

  • public module function get_mass(this, i_matter)

    Returns mass

    Arguments

    Type IntentOptional Attributes Name
    class(diffstarbase), intent(in) :: this

    diffstarbase object which this PROCEDURE is a member of

    integer, intent(in) :: i_matter

    Return Value double precision

interface

  • public pure module function get_mass_grav(this)

    Arguments

    Type IntentOptional Attributes Name
    class(diffstarbase), intent(in) :: this

    diffstarbase object which this PROCEDURE is a member of

    Return Value double precision

interface

  • public pure module function get_nbar_center(this)

    Arguments

    Type IntentOptional Attributes Name
    class(diffstarbase), intent(in) :: this

    diffstarbase object which this PROCEDURE is a member of

    Return Value double precision

interface

  • public pure module function get_npeos(this)

    Arguments

    Type IntentOptional Attributes Name
    class(diffstarbase), intent(in) :: this

    diffstarbase object which this PROCEDURE is a member of

    Return Value integer

interface

  • public pure module function get_omega_c(this)

    Returns omega_c

    Arguments

    Type IntentOptional Attributes Name
    class(diffstarbase), intent(in) :: this

    diffstarbase object which this PROCEDURE is a member of

    Return Value double precision

interface

  • public pure module function get_pressure_center(this)

    Arguments

    Type IntentOptional Attributes Name
    class(diffstarbase), intent(in) :: this

    diffstarbase object which this PROCEDURE is a member of

    Return Value double precision

interface

  • public pure module function get_r_circ(this)

    Arguments

    Type IntentOptional Attributes Name
    class(diffstarbase), intent(in) :: this

    diffstarbase object which this PROCEDURE is a member of

    Return Value double precision

interface

  • public pure module function get_r_eq(this)

    Arguments

    Type IntentOptional Attributes Name
    class(diffstarbase), intent(in) :: this

    diffstarbase object which this PROCEDURE is a member of

    Return Value double precision

interface

  • public pure module function get_r_eq_3pi2(this)

    Arguments

    Type IntentOptional Attributes Name
    class(diffstarbase), intent(in) :: this

    diffstarbase object which this PROCEDURE is a member of

    Return Value double precision

interface

  • public pure module function get_r_eq_pi(this)

    Arguments

    Type IntentOptional Attributes Name
    class(diffstarbase), intent(in) :: this

    diffstarbase object which this PROCEDURE is a member of

    Return Value double precision

interface

  • public pure module function get_r_eq_pi2(this)

    Arguments

    Type IntentOptional Attributes Name
    class(diffstarbase), intent(in) :: this

    diffstarbase object which this PROCEDURE is a member of

    Return Value double precision

interface

  • public pure module function get_r_isco(this)

    Arguments

    Type IntentOptional Attributes Name
    class(diffstarbase), intent(in) :: this

    diffstarbase object which this PROCEDURE is a member of

    Return Value double precision

interface

  • public pure module function get_r_mean(this)

    Arguments

    Type IntentOptional Attributes Name
    class(diffstarbase), intent(in) :: this

    diffstarbase object which this PROCEDURE is a member of

    Return Value double precision

interface

  • public pure module function get_r_pole(this)

    Arguments

    Type IntentOptional Attributes Name
    class(diffstarbase), intent(in) :: this

    diffstarbase object which this PROCEDURE is a member of

    Return Value double precision

interface

  • public pure module function get_r_ratio(this)

    Arguments

    Type IntentOptional Attributes Name
    class(diffstarbase), intent(in) :: this

    diffstarbase object which this PROCEDURE is a member of

    Return Value double precision

interface

  • public module function get_radii(this, i_matter)

    Arguments

    Type IntentOptional Attributes Name
    class(diffstarbase), intent(in) :: this

    diffstarbase object which this PROCEDURE is a member of

    integer, intent(in) :: i_matter

    Index of the matter object whose string is to return

    Return Value double precision, DIMENSION(6)

interface

  • public pure module function get_rho_center(this)

    Arguments

    Type IntentOptional Attributes Name
    class(diffstarbase), intent(in) :: this

    diffstarbase object which this PROCEDURE is a member of

    Return Value double precision

interface

  • public pure module function get_specific_angular_momentum_isco(this)

    Arguments

    Type IntentOptional Attributes Name
    class(diffstarbase), intent(in) :: this

    diffstarbase object which this PROCEDURE is a member of

    Return Value double precision

interface

  • public pure module function get_specific_energy_center(this)

    Arguments

    Type IntentOptional Attributes Name
    class(diffstarbase), intent(in) :: this

    diffstarbase object which this PROCEDURE is a member of

    Return Value double precision

interface

  • public pure module function get_specific_energy_isco(this)

    Arguments

    Type IntentOptional Attributes Name
    class(diffstarbase), intent(in) :: this

    diffstarbase object which this PROCEDURE is a member of

    Return Value double precision

interface

  • public pure module function get_surface_area(this)

    Arguments

    Type IntentOptional Attributes Name
    class(diffstarbase), intent(in) :: this

    diffstarbase object which this PROCEDURE is a member of

    Return Value double precision

interface

  • public pure module function get_tsw(this)

    Arguments

    Type IntentOptional Attributes Name
    class(diffstarbase), intent(in) :: this

    diffstarbase object which this PROCEDURE is a member of

    Return Value double precision

interface

  • public module subroutine print_summary_drs(this, filename)

    Prints a summary of the physical properties the system to the standard output and, optionally, to a formatted file whose name is given as the optional argument filename

    Arguments

    Type IntentOptional Attributes Name
    class(diffstarbase), intent(in) :: this
    character(len=*), intent(inout), optional :: filename

    Name of the formatted file to print the summary to


Abstract Interfaces

abstract interface

  • public function get_eos_id_int(this)

    Arguments

    Type IntentOptional Attributes Name
    class(diffstarbase), intent(in) :: this

    diffstarbase object which this PROCEDURE is a member of

    Return Value integer


Derived Types

type, public, extends(idbase) ::  diffstarbase

ABSTRACT TYPE for \(\mathrm{DRS}\) \(\mathrm{ID}\) (produced with \(\texttt{LORENE}\), or with \(\texttt{FUKA}\), etc.; or produced with the same tool, but read in different ways, for example by linking to the \(\texttt{LORENE}\) library, or reading the \(\mathrm{ID}\) from a lattice, etc.)

Components

Type Visibility Attributes Name Initial
double precision, public :: adm_mass

ADM mass of the \(\mathrm{DRS}\)

double precision, public :: angular_momentum = 0.0D0

Angular momentum of the \(\mathrm{DRS}\)

double precision, public :: area_radius

Areal (or circumferential) radius of \(\mathrm{DRS}\) [Msun_geo] Note that these is the areal radius of the star in the binary system, which is different than that of an isolated star. The latter is used in the mass-radius diagrams, together with the gravitatonal mass

double precision, public, DIMENSION(3) :: barycenter

Array containing the barycenters of the stars

Read more…
double precision, public, DIMENSION(:), ALLOCATABLE :: baryon_density

1-D array storing the baryon mass density in the fluid frame [kg m^{-3}]

double precision, public, DIMENSION(3) :: center

Array containing the centers of the stars

Read more…
type(timer), public :: construction_timer

Timer that times the construction of the appropriate object

double precision, public, DIMENSION(:), ALLOCATABLE :: energy_density

1-D array storing the energy density [kg c^2 m^{-3}]

double precision, public :: energy_density_center

Central energy density

double precision, public :: ent_center

Central enthalpy

character(len=:), public, ALLOCATABLE :: eos

Name of the equation of state (EoS) of star 1

character(len=max_length), public, DIMENSION(1) :: eos_filename

Array of string containing the names of the files containing the \(\mathrm{EOS}\) to be used for each matter object.

integer, public :: eos_id

\(\texttt{SPHINCS_ID}\) identifier for the \(\mathrm{EOS}\) of star 1

character(len=:), public, ALLOCATABLE :: eos_table

String containing the path to the files containing the table of the \(\mathrm{EOS}\)

double precision, public :: f_isco

Orbital frequency of the Innermost Stable Circular Orbit (ISCO)

procedure, public, POINTER, NOPASS :: finalize_sph_id_ptr

Pointer to a procedure that finalize the \(\mathrm{SPH}\) \(\mathrm{ID}\); for example, correct for the residual ADM linear momentum.

double precision, public, DIMENSION(:), ALLOCATABLE :: g_xx

1-D array storing the xx component of the spatial metric [pure number]

double precision, public, DIMENSION(:), ALLOCATABLE :: g_xy

1-D array storing the xy component of the spatial metric [pure number]

double precision, public, DIMENSION(:), ALLOCATABLE :: g_xz

1-D array storing the xz component of the spatial metric [pure number]

double precision, public, DIMENSION(:), ALLOCATABLE :: g_yy

1-D array storing the yy component of the spatial metric [pure number]

double precision, public, DIMENSION(:), ALLOCATABLE :: g_yz

1-D array storing the yz component of the spatial metric [pure number]

double precision, public, DIMENSION(:), ALLOCATABLE :: g_zz

1-D array storing the zz component of the spatial metric [pure number]

double precision, public :: gamma

Single polytrope: polytropic index

double precision, public :: gamma0

Piecewise polytrope: polytropic index

double precision, public :: gamma1

Piecewise polytrope: polytropic index

double precision, public :: gamma2

Piecewise polytrope: polytropic index

double precision, public :: gamma3

Piecewise polytrope: polytropic index

double precision, public :: grv2

Error on the virial identity .

Read more…
double precision, public :: grv3

Error on the virial identity .

Read more…
double precision, public, DIMENSION(:), ALLOCATABLE :: k_xx

1-D array storing the xx component of the extrinsic curvature [c/MSun_geo]

double precision, public, DIMENSION(:), ALLOCATABLE :: k_xy

1-D array storing the xy component of the extrinsic curvature [c/MSun_geo]

double precision, public, DIMENSION(:), ALLOCATABLE :: k_xz

1-D array storing the xz component of the extrinsic curvature [c/MSun_geo]

double precision, public, DIMENSION(:), ALLOCATABLE :: k_yy

1-D array storing the yy component of the extrinsic curvature [c/MSun_geo]

double precision, public, DIMENSION(:), ALLOCATABLE :: k_yz

1-D array storing the yz component of the extrinsic curvature [c/MSun_geo]

double precision, public, DIMENSION(:), ALLOCATABLE :: k_zz

1-D array storing the zz component of the extrinsic curvature [c/MSun_geo]

double precision, public :: kappa

Single polytrope: polytropic constant [pure number]

double precision, public :: kappa0

Piecewise polytrope: polytropic constant [pure number]

double precision, public :: kappa1

Piecewise polytrope: polytropic constant [pure number]

double precision, public :: kappa2

Piecewise polytrope: polytropic constant [pure number]

double precision, public :: kappa3

Piecewise polytrope: polytropic constant [pure number]

double precision, public, DIMENSION(:), ALLOCATABLE :: lapse

1-D array storing the lapse function

double precision, public :: logP1

Piecewise polytrope: Base 10 exponent of the pressure at the first fiducial density (between and )

double precision, public :: logRho0

Piecewise polytrope: Base 10 exponent of the first fiducial density (between and )

double precision, public :: logRho1

Piecewise polytrope: Base 10 exponent of the second fiducial density (between and )

double precision, public :: logRho2

Piecewise polytrope: Base 10 exponent of the third fiducial density (between and )

double precision, public :: mass

Baryonic mass of \(\mathrm{DRS}\)

double precision, public :: mass_grav

Gravitational mass of \(\mathrm{DRS}\)

double precision, public :: nbar_center

Central baryon number density

integer, public :: npeos

Piecewise polytrope: Number of polytropic pieces

double precision, public :: omega_c

Central angular velocity

double precision, public, DIMENSION(:), ALLOCATABLE :: pressure

1-D array storing the pressure

double precision, public :: pressure_center

Central pressure

double precision, public :: r_circ

Circumferential radius

double precision, public :: r_eq

Equatorial radius at

double precision, public :: r_eq_3pi2

Equatorial radius at

double precision, public :: r_eq_pi

Equatorial radius at

double precision, public :: r_eq_pi2

Equatorial radius at

double precision, public :: r_isco

Radius of the Innermost Stable Circular Orbit (ISCO)

double precision, public :: r_mean

Mean radius

double precision, public :: r_pole

Polar radius

double precision, public :: r_ratio

Ratio r_pole/r_eq

double precision, public, DIMENSION(6) :: radii
double precision, public :: redshift_eqb

Backward redshift factor at equator

double precision, public :: redshift_eqf

Forward redshift factor at equator

double precision, public :: redshift_pole

Redshift factor at North pole

double precision, public :: rho_center

Central baryon mass density

double precision, public, DIMENSION(:), ALLOCATABLE :: shift_x

1-D array storing the x component of the shift vector [c]

double precision, public, DIMENSION(:), ALLOCATABLE :: shift_y

1-D array storing the y component of the shift vector [c]

double precision, public, DIMENSION(:), ALLOCATABLE :: shift_z

1-D array storing the z component of the shift vector [c]

double precision, public :: specific_angular_momentum_isco

Specific angular momentum of a test particle at the Innermost Stable Circular Orbit (ISCO)

double precision, public, DIMENSION(:), ALLOCATABLE :: specific_energy

1-D array storing the specific internal energy [c^2]

double precision, public :: specific_energy_center

Central specific energy

double precision, public :: specific_energy_isco

Specific energy of a test particle at the Innermost Stable Circular Orbit (ISCO)

double precision, public :: surface_area

Surface area

type(surface), public, DIMENSION(:), ALLOCATABLE :: surfaces

Array containing, for each matter object, a set of coordinates of some points modelling the surfaces.

Read more…
type(tabu_eos), public, DIMENSION(:), ALLOCATABLE :: tab_eos

Array containing a tabulated \(\mathrm{EOS}\) for each matter object, when used.

Read more…
double precision, public :: tsw

Ratio between the rotational kinetic and gravitatial potential energy .

Read more…
double precision, public, DIMENSION(:), ALLOCATABLE :: v_euler_x

1-D array storing the x component of the fluid 3-velocity with respect to

double precision, public, DIMENSION(:), ALLOCATABLE :: v_euler_y

1-D array storing the y component of the fluid 3-velocity with respect to

double precision, public, DIMENSION(:), ALLOCATABLE :: v_euler_z

1-D array storing the z component of the fluid 3-velocity with respect to

Type-Bound Procedures

procedure , public , NON_OVERRIDABLE :: check_i_matter Interface

Checks that the given index is between 1 and n_matter, included. If not, it stops the execution of the program.

procedure (derived_type_constructor_int) , public :: derived_type_constructor

Constructs a TYPE that extends idbase

procedure , public :: estimate_lengthscale_field Interface

Estimate typical length scales, one per each matter object, by computing , where is a field given as input, and represent a derivative of it. Presently, the derivatives are computed separately along each spatial dimension, as 1D derivatives.

procedure , public :: get_angular_momentum Interface

Returns angular_momentum

procedure , public :: get_area_radius Interface

Returns area_radius

procedure , public , NON_OVERRIDABLE :: get_cold_system Interface

Returns cold_system, the LOGICAL variable that specifies if the system is cold (no thermal component)

procedure , public :: get_energy_density_center Interface

Returns energy_density_center

procedure , public :: get_ent_center Interface

Returns ent_center

procedure (get_eos_id_int) , public :: get_eos_id

Returns an integer that identifies the equation of state

procedure , public , NON_OVERRIDABLE :: get_estimate_length_scale Interface

Returns estimate_length_scale, the LOGICAL variable that specifies if a typical length scale, equal to the ratio of a field over its gradient, should be computed

procedure , public :: get_f_isco Interface

Returns f_isco

procedure , public :: get_gamma Interface

Returns gamma

procedure , public :: get_gamma0 Interface

Returns gamma0

procedure , public :: get_gamma1 Interface

Returns gamma1

procedure , public :: get_gamma2 Interface

Returns gamma2

procedure , public :: get_gamma3 Interface

Returns gamma3

procedure , public :: get_grv2 Interface

Returns grv2

procedure , public :: get_grv3 Interface

Returns grv3

procedure , public :: get_kappa Interface

Returns kappa

procedure , public :: get_kappa0 Interface

Returns kappa0

procedure , public :: get_kappa1 Interface

Returns kappa1

procedure , public :: get_kappa2 Interface

Returns kappa2

procedure , public :: get_kappa3 Interface

Returns kappa3

procedure , public :: get_logP1 Interface

Returns logP1

procedure , public :: get_logRho0 Interface

Returns logRho0

procedure , public :: get_logRho1 Interface

Returns logRho1

procedure , public :: get_logRho2 Interface

Returns logRho2

procedure , public :: get_mass_grav Interface

Returns mass_grav

procedure , public , NON_OVERRIDABLE :: get_n_matter Interface

Returns n_matter, the number of matter objects in the physical system

procedure , public :: get_nbar_center Interface

Returns nbar_center

procedure , public :: get_npeos Interface

Returns npeos

procedure , public :: get_omega_c Interface

Returns omega_c

Read more…
procedure , public , NON_OVERRIDABLE :: get_one_lapse Interface

Returns one_lapse, the LOGICAL variable that determines if the lapse function , i.e., if the geodesic gauge is to be used

procedure , public :: get_pressure_center Interface

Returns pressure_center

Read more…
procedure , public :: get_r_circ Interface

Returns r_circ

procedure , public :: get_r_eq Interface

Returns r_eq

procedure , public :: get_r_eq_3pi2 Interface

Returns r_eq_3pi2

procedure , public :: get_r_eq_pi Interface

Returns r_eq_pi

procedure , public :: get_r_eq_pi2 Interface

Returns r_eq_pi2

procedure , public :: get_r_isco Interface

Returns r_isco

procedure , public :: get_r_mean Interface

Returns r_mean

procedure , public :: get_r_pole Interface

Returns r_pole

procedure , public :: get_r_ratio Interface

Returns r_ratio

procedure , public :: get_rho_center Interface

Returns rho_center

procedure , public :: get_specific_angular_momentum_isco Interface

Returns specific_angular_momentum_isco

procedure , public :: get_specific_energy_center Interface

Returns specific_energy_center

procedure , public :: get_specific_energy_isco Interface

Returns specific_energy_isco

procedure , public :: get_surface_area Interface

Returns surface_area

procedure , public , NON_OVERRIDABLE :: get_total_spatial_extent Interface

Returns the spatial extent of the physical system considered, as the array of 6 numbers

procedure , public :: get_tsw Interface

Returns tsw

procedure , public , NON_OVERRIDABLE :: get_zero_shift Interface

Returns zero_shift, the LOGICAL variable that determines if the shift

procedure , public , NON_OVERRIDABLE :: initialize Interface

This PROCEDURE calls the constructor of the idbase-extended type and the SUBROUTINE sanity_check afterwards. It is recommended to use this SUBROUTINE to construct objects of idbase-extended type since the sanity check is performed automatically.

procedure (initialize_id_int) , public :: initialize_id

Initialize the \(\mathrm{ID}\); for example, set up the lattices around the stars for the \(\mathrm{BNS}\) produced with \(\texttt{FUKA}\).

procedure , public :: integrate_baryon_mass_density Interface

Integrates the baryon mass density over a matter object, using spherical coordinates, and computes its radial profile inside the star

procedure , public :: print_summary => print_summary_drs Interface
procedure (read_id_full_int) , public :: read_id_full

Reads the full \(\mathrm{ID}\)

procedure (read_id_hydro_int) , public :: read_id_hydro

Reads the hydro \(\mathrm{ID}\) needed to compute the constraints on the refined mesh

procedure (read_id_k_int) , public :: read_id_k

Reads the components of the extrinsic curvature

procedure (read_id_mass_b_int) , public :: read_id_mass_b

Reads the hydro \(\mathrm{ID}\) needed to compute the baryon mass

procedure (read_id_particles_int) , public :: read_id_particles

Reads the hydro \(\mathrm{ID}\) needed to compute the SPH \(\mathrm{ID}\)

procedure (read_id_spacetime_int) , public :: read_id_spacetime

Reads the spacetime \(\mathrm{ID}\) needed to compute the BSSN variables and constraints

procedure (read_double_at_pos) , public :: read_mass_density

Returns the baryon mass density from the \(\mathrm{ID}\) at the given point

procedure (read_double_at_pos) , public :: read_pressure

Returns the pressure from te \(\mathrm{ID}\) at the given point

procedure , public :: return_adm_mass => get_adm_mass Interface
procedure , public :: return_barycenter => get_barycenter Interface
procedure , public :: return_center => get_center Interface
procedure , public :: return_eos_name => get_eos Interface
procedure (return_eos_parameters_int) , public :: return_eos_parameters

Returns the identification number of the \(\mathrm{EOS}\) of the matter objects.

Read more…
procedure , public :: return_mass => get_mass Interface
procedure , public :: return_spatial_extent => get_radii Interface
procedure , public , NON_OVERRIDABLE :: sanity_check Interface

Checks that n_matter and the sizes returned by return_spatial_extent and get_total_spatial_extent are acceptable. It is called by initialize, after the constructor of the derived type.

procedure , public , NON_OVERRIDABLE :: set_cold_system Interface

Sets cold_system, the LOGICAL variable that specifies if the system is cold (no thermal component)

procedure , public , NON_OVERRIDABLE :: set_estimate_length_scale Interface

Sets estimate_length_scale, the LOGICAL variable that specifies if a typical length scale, equal to the ratio of a field over its gradient, should be computed

procedure , public , NON_OVERRIDABLE :: set_n_matter Interface

Sets n_matter, the number of matter objects in the physical system, to a value

procedure , public , NON_OVERRIDABLE :: set_one_lapse Interface

Sets one_lapse, the LOGICAL variable that determines if the lapse , i.e., if the geodesic gauge is to be used

procedure , public , NON_OVERRIDABLE :: set_zero_shift Interface

Sets zero_shift, the LOGICAL variable that determines if the shift

procedure (read_logical_at_pos) , public :: test_position

Returns .TRUE. if the position has physically acceptable properties, .FALSE. otherwise