This module contains the definition of TYPE bnslorene, and the SUBROUTINES that bind to the methods of \(\texttt{LORENE}\)'s class \(\texttt{Bin_NS}\), defined in
\(\texttt{LORENE}\) official repository
Allocates allocatable arrays member of a bnslorene object
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(bnslorene), | intent(inout) | :: | this |
bnslorene object which this PROCEDURE is a member of |
||
integer, | intent(in) | :: | d |
Dimension of the arrays |
Interface to the \(\texttt{LORENE}\) method of class \(\texttt{Bin_NS}\) with the same name, that constructs the \(\texttt{LORENE}\) \(\texttt{Bin_NS}\) object
FT
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(kind=C_CHAR, len=1), | intent(in), | optional, | DIMENSION(*) | :: | c_id_file |
C string of the name of the \(\texttt{LORENE}\) binary file storing the spectral \(\mathrm{BNS}\) \(\mathrm{ID}\) |
character(kind=C_CHAR, len=1), | intent(in), | optional, | DIMENSION(*) | :: | c_eos_file1 | |
character(kind=C_CHAR, len=1), | intent(in), | optional, | DIMENSION(*) | :: | c_eos_file2 |
C pointer pointing to the constructed \(\texttt{LORENE}\) \(\texttt{Bin_NS}\) object
Interface of the subroutine that constructs the \(\texttt{LORENE}\) \(\texttt{Bin_NS}\) object
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(bnslorene), | intent(inout) | :: | this |
bnslorene object which this PROCEDURE is a member of |
||
character(kind=C_CHAR, len=*), | intent(in), | optional | :: | id_file |
\(\texttt{LORENE}\) binary file containing the spectral \(\mathrm{BNS}\) \(\mathrm{ID}\) |
|
character(kind=C_CHAR, len=*), | intent(in), | optional, | DIMENSION(2) | :: | eos_filenames |
Array of strings containing the names of the files containing the \(\mathrm{EOS}\)
to be used for each matter object. If not PRESENT, information from
the file |
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
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(bnslorene), | intent(out) | :: | derived_type |
Constructed bnslorene object |
||
character(len=*), | intent(in), | optional | :: | filename |
\(\texttt{LORENE}\) binary file containing the spectral \(\mathrm{BNS}\) \(\mathrm{ID}\) |
|
character(len=*), | intent(in), | optional, | DIMENSION(:) | :: | eos_filenames |
Array of strings containing the names of the files containing the \(\mathrm{EOS}\)
to be used for each matter object. If not PRESENT, information from
the file |
Post-process the \(\mathrm{SPH}\) \(\mathrm{ID}\); for example, correct for the residual ADM linear momentum.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | npart |
Particle number |
||
double precision, | intent(inout), | DIMENSION(3,npart) | :: | pos |
Particle positions |
|
double precision, | intent(inout), | DIMENSION(npart) | :: | nlrf |
Baryon density in the local rest frame on the particles |
|
double precision, | intent(inout), | DIMENSION(npart) | :: | u |
Specific internal energy on the particles |
|
double precision, | intent(inout), | DIMENSION(npart) | :: | pr |
Pressure on the particles |
|
double precision, | intent(inout), | DIMENSION(3,npart) | :: | vel_u |
Spatial velocity in the computing frame on the particles |
|
double precision, | intent(inout), | DIMENSION(npart) | :: | theta |
Generalized Lorentz factor on the particles |
|
double precision, | intent(inout), | DIMENSION(npart) | :: | nstar |
Proper baryon density in the local rest frame on the particles |
|
double precision, | intent(inout), | DIMENSION(npart) | :: | nu |
Baryon number per particle |
|
double precision, | intent(in), | DIMENSION(npart) | :: | g_xx | ||
double precision, | intent(in), | DIMENSION(npart) | :: | g_xy | ||
double precision, | intent(in), | DIMENSION(npart) | :: | g_xz | ||
double precision, | intent(in), | DIMENSION(npart) | :: | g_yy | ||
double precision, | intent(in), | DIMENSION(npart) | :: | g_yz | ||
double precision, | intent(in), | DIMENSION(npart) | :: | g_zz | ||
double precision, | intent(in), | DIMENSION(npart) | :: | lapse |
Lapse function on the particles |
|
double precision, | intent(in), | DIMENSION(npart) | :: | shift_x | ||
double precision, | intent(in), | DIMENSION(npart) | :: | shift_y | ||
double precision, | intent(in), | DIMENSION(npart) | :: | shift_z | ||
double precision, | intent(in), | DIMENSION(3) | :: | adm_mom_error | ||
double precision, | intent(in) | :: | adm_mass |
Interface to the \(\texttt{LORENE}\) method of class \(\texttt{Bin_NS}\) with the same name, that destructs the \(\texttt{LORENE}\) \(\texttt{Bin_NS}\) object
FT
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(C_PTR), | intent(in), | VALUE | :: | optr |
C pointer pointing to the \(\texttt{LORENE}\) \(\texttt{Bin_NS}\) object to destruct |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(bnslorene), | intent(in) | :: | this |
bnslorene object which this PROCEDURE is a member of |
||
integer, | intent(in) | :: | i_matter |
Index of the matter object whose parameter is to return |
||
double precision, | intent(out), | DIMENSION(:), ALLOCATABLE | :: | eos_params |
Array containing the parameters of the \(\mathrm{EOS}\) for the |
Returns the bnslorene member arrays named field
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(bnslorene), | intent(in) | :: | this |
bnslorene object which this PROCEDURE is a member of |
||
character(len=:), | intent(in), | ALLOCATABLE | :: | field |
Name of the desired bnslorene member array |
Desired bnslorene member array
Returns the component n of the bnslorene member arrays named field
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(bnslorene), | intent(in) | :: | this |
bnslorene object which this PROCEDURE is a member of |
||
character(len=:), | intent(in), | ALLOCATABLE | :: | field |
Name of the desired bnslorene member array |
|
integer, | intent(in) | :: | n |
Component of the desired bnslorene member array |
Component n of the desired bnslorene member array
Interface to the \(\texttt{LORENE}\) method of class \(\texttt{Bin_NS}\) with the same name, that stores the physical parameters of the binary system from \(\texttt{LORENE}\) in the desired variables
FT
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(C_PTR), | intent(in), | VALUE | :: | optr |
C pointer pointing to a \(\texttt{LORENE}\) \(\texttt{Bin_NS}\) object |
|
real(kind=C_DOUBLE), | intent(out) | :: | angular_vel | |||
real(kind=C_DOUBLE), | intent(out) | :: | distance | |||
real(kind=C_DOUBLE), | intent(out) | :: | distance_com | |||
real(kind=C_DOUBLE), | intent(out) | :: | mass1 | |||
real(kind=C_DOUBLE), | intent(out) | :: | mass2 | |||
real(kind=C_DOUBLE), | intent(out) | :: | mass_grav1 | |||
real(kind=C_DOUBLE), | intent(out) | :: | mass_grav2 | |||
real(kind=C_DOUBLE), | intent(out) | :: | adm_mass | |||
real(kind=C_DOUBLE), | intent(out) | :: | linear_momentum_x | |||
real(kind=C_DOUBLE), | intent(out) | :: | linear_momentum_y | |||
real(kind=C_DOUBLE), | intent(out) | :: | linear_momentum_z | |||
real(kind=C_DOUBLE), | intent(out) | :: | angular_momentum_x | |||
real(kind=C_DOUBLE), | intent(out) | :: | angular_momentum_y | |||
real(kind=C_DOUBLE), | intent(out) | :: | angular_momentum_z | |||
real(kind=C_DOUBLE), | intent(out) | :: | area_radius1 | |||
real(kind=C_DOUBLE), | intent(out) | :: | radius1_x_comp | |||
real(kind=C_DOUBLE), | intent(out) | :: | radius1_y | |||
real(kind=C_DOUBLE), | intent(out) | :: | radius1_z | |||
real(kind=C_DOUBLE), | intent(out) | :: | radius1_x_opp | |||
real(kind=C_DOUBLE), | intent(out) | :: | center1_x | |||
real(kind=C_DOUBLE), | intent(out) | :: | barycenter1_x | |||
real(kind=C_DOUBLE), | intent(out) | :: | area_radius2 | |||
real(kind=C_DOUBLE), | intent(out) | :: | radius2_x_comp | |||
real(kind=C_DOUBLE), | intent(out) | :: | radius2_y | |||
real(kind=C_DOUBLE), | intent(out) | :: | radius2_z | |||
real(kind=C_DOUBLE), | intent(out) | :: | radius2_x_opp | |||
real(kind=C_DOUBLE), | intent(out) | :: | center2_x | |||
real(kind=C_DOUBLE), | intent(out) | :: | barycenter2_x | |||
real(kind=C_DOUBLE), | intent(out) | :: | ent_center1 | |||
real(kind=C_DOUBLE), | intent(out) | :: | nbar_center1 | |||
real(kind=C_DOUBLE), | intent(out) | :: | rho_center1 | |||
real(kind=C_DOUBLE), | intent(out) | :: | energy_density_center1 | |||
real(kind=C_DOUBLE), | intent(out) | :: | specific_energy_center1 | |||
real(kind=C_DOUBLE), | intent(out) | :: | pressure_center1 | |||
real(kind=C_DOUBLE), | intent(out) | :: | ent_center2 | |||
real(kind=C_DOUBLE), | intent(out) | :: | nbar_center2 | |||
real(kind=C_DOUBLE), | intent(out) | :: | rho_center2 | |||
real(kind=C_DOUBLE), | intent(out) | :: | energy_density_center2 | |||
real(kind=C_DOUBLE), | intent(out) | :: | specific_energy_center2 | |||
real(kind=C_DOUBLE), | intent(out) | :: | pressure_center2 | |||
character(kind=C_CHAR, len=1), | intent(out), | DIMENSION(100) | :: | eos1 | ||
character(kind=C_CHAR, len=1), | intent(out), | DIMENSION(100) | :: | eos2 | ||
integer(kind=C_INT) | :: | eos1_id | ||||
integer(kind=C_INT) | :: | eos2_id | ||||
real(kind=C_DOUBLE), | intent(out) | :: | gamma_1 | |||
real(kind=C_DOUBLE), | intent(out) | :: | kappa_1 | |||
real(kind=C_DOUBLE), | intent(out) | :: | gamma_2 | |||
real(kind=C_DOUBLE), | intent(out) | :: | kappa_2 | |||
integer(kind=C_INT) | :: | npeos_1 | ||||
real(kind=C_DOUBLE), | intent(out) | :: | gamma0_1 | |||
real(kind=C_DOUBLE), | intent(out) | :: | gamma1_1 | |||
real(kind=C_DOUBLE), | intent(out) | :: | gamma2_1 | |||
real(kind=C_DOUBLE), | intent(out) | :: | gamma3_1 | |||
real(kind=C_DOUBLE), | intent(out) | :: | kappa0_1 | |||
real(kind=C_DOUBLE), | intent(out) | :: | kappa1_1 | |||
real(kind=C_DOUBLE), | intent(out) | :: | kappa2_1 | |||
real(kind=C_DOUBLE), | intent(out) | :: | kappa3_1 | |||
real(kind=C_DOUBLE), | intent(out) | :: | logP1_1 | |||
real(kind=C_DOUBLE), | intent(out) | :: | logRho0_1 | |||
real(kind=C_DOUBLE), | intent(out) | :: | logRho1_1 | |||
real(kind=C_DOUBLE), | intent(out) | :: | logRho2_1 | |||
integer(kind=C_INT) | :: | npeos_2 | ||||
real(kind=C_DOUBLE), | intent(out) | :: | gamma0_2 | |||
real(kind=C_DOUBLE), | intent(out) | :: | gamma1_2 | |||
real(kind=C_DOUBLE), | intent(out) | :: | gamma2_2 | |||
real(kind=C_DOUBLE), | intent(out) | :: | gamma3_2 | |||
real(kind=C_DOUBLE), | intent(out) | :: | kappa0_2 | |||
real(kind=C_DOUBLE), | intent(out) | :: | kappa1_2 | |||
real(kind=C_DOUBLE), | intent(out) | :: | kappa2_2 | |||
real(kind=C_DOUBLE), | intent(out) | :: | kappa3_2 | |||
real(kind=C_DOUBLE), | intent(out) | :: | logP1_2 | |||
real(kind=C_DOUBLE), | intent(out) | :: | logRho0_2 | |||
real(kind=C_DOUBLE), | intent(out) | :: | logRho1_2 | |||
real(kind=C_DOUBLE), | intent(out) | :: | logRho2_2 | |||
character(kind=C_CHAR, len=1), | intent(out), | DIMENSION(500) | :: | eos_table1 | ||
character(kind=C_CHAR, len=1), | intent(out), | DIMENSION(500) | :: | eos_table2 |
Interface to the \(\texttt{LORENE}\) method of class \(\texttt{Bin_NS}\) with the same name, that reads the full \(\texttt{LORENE}\) \(\mathrm{ID}\) at the specified point. That is, reads the metric fields, the components of the extrinsic curvature [c/km], and the hydro fields.
FT
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(C_PTR), | intent(in), | VALUE | :: | optr |
C pointer pointing to a \(\texttt{LORENE}\) \(\texttt{Bin_NS}\) object |
|
real(kind=C_DOUBLE), | intent(in), | VALUE | :: | x |
coordinate of the desired point |
|
real(kind=C_DOUBLE), | intent(in), | VALUE | :: | y |
coordinate of the desired point |
|
real(kind=C_DOUBLE), | intent(in), | VALUE | :: | z |
coordinate of the desired point |
|
real(kind=C_DOUBLE), | intent(out) | :: | lapse | |||
real(kind=C_DOUBLE), | intent(out) | :: | shift_x | |||
real(kind=C_DOUBLE), | intent(out) | :: | shift_y | |||
real(kind=C_DOUBLE), | intent(out) | :: | shift_z | |||
real(kind=C_DOUBLE), | intent(out) | :: | g_diag | |||
real(kind=C_DOUBLE), | intent(out) | :: | k_xx | |||
real(kind=C_DOUBLE), | intent(out) | :: | k_xy | |||
real(kind=C_DOUBLE), | intent(out) | :: | k_xz | |||
real(kind=C_DOUBLE), | intent(out) | :: | k_yy | |||
real(kind=C_DOUBLE), | intent(out) | :: | k_yz | |||
real(kind=C_DOUBLE), | intent(out) | :: | k_zz | |||
real(kind=C_DOUBLE), | intent(out) | :: | baryon_density | |||
real(kind=C_DOUBLE), | intent(out) | :: | energy_density | |||
real(kind=C_DOUBLE), | intent(out) | :: | specific_energy | |||
real(kind=C_DOUBLE), | intent(out) | :: | pressure | |||
real(kind=C_DOUBLE), | intent(out) | :: | v_euler_x | |||
real(kind=C_DOUBLE), | intent(out) | :: | v_euler_y | |||
real(kind=C_DOUBLE), | intent(out) | :: | v_euler_z |
Interface to the \(\texttt{LORENE}\) method of class \(\texttt{Bin_NS}\) with the same name, that reads the hydro fields from \(\texttt{LORENE}\), at the specified point
FT
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(C_PTR), | intent(in), | VALUE | :: | optr |
C pointer pointing to a \(\texttt{LORENE}\) \(\texttt{Bin_NS}\) object |
|
real(kind=C_DOUBLE), | intent(in), | VALUE | :: | x |
coordinate of the desired point |
|
real(kind=C_DOUBLE), | intent(in), | VALUE | :: | y |
coordinate of the desired point |
|
real(kind=C_DOUBLE), | intent(in), | VALUE | :: | z |
coordinate of the desired point |
|
real(kind=C_DOUBLE), | intent(out) | :: | baryon_density | |||
real(kind=C_DOUBLE), | intent(out) | :: | energy_density | |||
real(kind=C_DOUBLE), | intent(out) | :: | specific_energy | |||
real(kind=C_DOUBLE), | intent(out) | :: | pressure | |||
real(kind=C_DOUBLE), | intent(out) | :: | v_euler_x | |||
real(kind=C_DOUBLE), | intent(out) | :: | v_euler_y | |||
real(kind=C_DOUBLE), | intent(out) | :: | v_euler_z |
Interface to the \(\texttt{LORENE}\) method of class \(\texttt{Bin_NS}\) with the same name, that reads the components of the extrinsic curvature [c/km] from \(\texttt{LORENE}\), at the specified point
FT
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(C_PTR), | intent(in), | VALUE | :: | optr |
C pointer pointing to a \(\texttt{LORENE}\) \(\texttt{Bin_NS}\) object |
|
real(kind=C_DOUBLE), | intent(in), | VALUE | :: | x |
coordinate of the desired point |
|
real(kind=C_DOUBLE), | intent(in), | VALUE | :: | y |
coordinate of the desired point |
|
real(kind=C_DOUBLE), | intent(in), | VALUE | :: | z |
coordinate of the desired point |
|
real(kind=C_DOUBLE), | intent(out) | :: | k_xx | |||
real(kind=C_DOUBLE), | intent(out) | :: | k_xy | |||
real(kind=C_DOUBLE), | intent(out) | :: | k_xz | |||
real(kind=C_DOUBLE), | intent(out) | :: | k_yy | |||
real(kind=C_DOUBLE), | intent(out) | :: | k_yz | |||
real(kind=C_DOUBLE), | intent(out) | :: | k_zz |
Interface to the \(\texttt{LORENE}\) method of class \(\texttt{Bin_NS}\) with the same name, that reads the hydro fields and the metric fields from \(\texttt{LORENE}\), at the specified point, needed to compute the baryon mass.
FT
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(C_PTR), | intent(in), | VALUE | :: | optr |
C pointer pointing to a \(\texttt{LORENE}\) \(\texttt{Bin_NS}\) object |
|
real(kind=C_DOUBLE), | intent(in), | VALUE | :: | x |
coordinate of the desired point |
|
real(kind=C_DOUBLE), | intent(in), | VALUE | :: | y |
coordinate of the desired point |
|
real(kind=C_DOUBLE), | intent(in), | VALUE | :: | z |
coordinate of the desired point |
|
real(kind=C_DOUBLE), | intent(out) | :: | g_diag |
at |
||
real(kind=C_DOUBLE), | intent(out) | :: | baryon_density |
Baryon mass density at |
||
real(kind=C_DOUBLE), | intent(out) | :: | gamma_euler |
Relative Lorentz factor between the 4-velocity of the fluid wrt the Eulerian observer and the 4-velocity of the Eulerian observer at |
Interface to the \(\texttt{LORENE}\) method of class \(\texttt{Bin_NS}\) with the same name, that reads the hydro fields and the metric fields * from \(\texttt{LORENE}\), at the specified point
FT
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(C_PTR), | intent(in), | VALUE | :: | optr |
C pointer pointing to a \(\texttt{LORENE}\) \(\texttt{Bin_NS}\) object |
|
real(kind=C_DOUBLE), | intent(in), | VALUE | :: | x |
coordinate of the desired point |
|
real(kind=C_DOUBLE), | intent(in), | VALUE | :: | y |
coordinate of the desired point |
|
real(kind=C_DOUBLE), | intent(in), | VALUE | :: | z |
coordinate of the desired point |
|
real(kind=C_DOUBLE), | intent(out) | :: | lapse | |||
real(kind=C_DOUBLE), | intent(out) | :: | shift_x | |||
real(kind=C_DOUBLE), | intent(out) | :: | shift_y | |||
real(kind=C_DOUBLE), | intent(out) | :: | shift_z | |||
real(kind=C_DOUBLE), | intent(out) | :: | g_diag | |||
real(kind=C_DOUBLE), | intent(out) | :: | baryon_density | |||
real(kind=C_DOUBLE), | intent(out) | :: | energy_density | |||
real(kind=C_DOUBLE), | intent(out) | :: | specific_energy | |||
real(kind=C_DOUBLE), | intent(out) | :: | pressure | |||
real(kind=C_DOUBLE), | intent(out) | :: | v_euler_x | |||
real(kind=C_DOUBLE), | intent(out) | :: | v_euler_y | |||
real(kind=C_DOUBLE), | intent(out) | :: | v_euler_z |
Interface to the \(\texttt{LORENE}\) method of class \(\texttt{Bin_NS}\) with the same name, that reads the metric fields and the components of the extrinsic curvature [c/km] from \(\texttt{LORENE}\), at the specified point
FT
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(C_PTR), | intent(in), | VALUE | :: | optr |
C pointer pointing to a \(\texttt{LORENE}\) \(\texttt{Bin_NS}\) object |
|
real(kind=C_DOUBLE), | intent(in), | VALUE | :: | x |
coordinate of the desired point |
|
real(kind=C_DOUBLE), | intent(in), | VALUE | :: | y |
coordinate of the desired point |
|
real(kind=C_DOUBLE), | intent(in), | VALUE | :: | z |
coordinate of the desired point |
|
real(kind=C_DOUBLE), | intent(out) | :: | lapse | |||
real(kind=C_DOUBLE), | intent(out) | :: | shift_x | |||
real(kind=C_DOUBLE), | intent(out) | :: | shift_y | |||
real(kind=C_DOUBLE), | intent(out) | :: | shift_z | |||
real(kind=C_DOUBLE), | intent(out) | :: | g_diag | |||
real(kind=C_DOUBLE), | intent(out) | :: | k_xx | |||
real(kind=C_DOUBLE), | intent(out) | :: | k_xy | |||
real(kind=C_DOUBLE), | intent(out) | :: | k_xz | |||
real(kind=C_DOUBLE), | intent(out) | :: | k_yy | |||
real(kind=C_DOUBLE), | intent(out) | :: | k_yz | |||
real(kind=C_DOUBLE), | intent(out) | :: | k_zz |
Interface to the \(\texttt{LORENE}\) method of class \(\texttt{Bin_NS}\) with the same name, that returns the baryon mass density from \(\texttt{LORENE}\), at the specified point
FT
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(C_PTR), | intent(in), | VALUE | :: | optr |
C pointer pointing to a \(\texttt{LORENE}\) \(\texttt{Bin_NS}\) object |
|
real(kind=C_DOUBLE), | intent(in), | VALUE | :: | x |
coordinate of the desired point |
|
real(kind=C_DOUBLE), | intent(in), | VALUE | :: | y |
coordinate of the desired point |
|
real(kind=C_DOUBLE), | intent(in), | VALUE | :: | z |
coordinate of the desired point |
Baryon mass density at the desired point
Interface to the \(\texttt{LORENE}\) method of class \(\texttt{Bin_NS}\) with the same name, that returns the pressure from \(\texttt{LORENE}\), at the specified point
FT 11.02.2022
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(C_PTR), | intent(in), | VALUE | :: | optr |
C pointer pointing to a \(\texttt{LORENE}\) \(\texttt{Bin_NS}\) object |
|
real(kind=C_DOUBLE), | intent(in), | VALUE | :: | x |
coordinate of the desired point |
|
real(kind=C_DOUBLE), | intent(in), | VALUE | :: | y |
coordinate of the desired point |
|
real(kind=C_DOUBLE), | intent(in), | VALUE | :: | z |
coordinate of the desired point |
Pressure at the desired point
Interface to the \(\texttt{LORENE}\) method of class \(\texttt{Bin_NS}\) with the same name, that returns the diagonal components of the metric, all equal to the \(\texttt{LORENE}\) conformal factor to the 4th power.
FT
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(C_PTR), | intent(in), | VALUE | :: | optr |
C pointer pointing to a \(\texttt{LORENE}\) \(\texttt{Bin_NS}\) object |
|
real(kind=C_DOUBLE), | intent(in), | VALUE | :: | x |
coordinate of the desired point |
|
real(kind=C_DOUBLE), | intent(in), | VALUE | :: | y |
coordinate of the desired point |
|
real(kind=C_DOUBLE), | intent(in), | VALUE | :: | z |
coordinate of the desired point |
Spatial metric component at the point
Returns 1 if the energy density or the specific energy or the pressure are negative, 0 otherwise
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(bnslorene), | intent(in) | :: | this |
bnslorene object which this PROCEDURE is a member of |
||
double precision, | intent(in), | VALUE | :: | x |
coordinate of the desired point |
|
double precision, | intent(in), | VALUE | :: | y |
coordinate of the desired point |
|
double precision, | intent(in), | VALUE | :: | z |
coordinate of the desired point |
.TRUE.
if the energy density or the specific energy or the pressure
are negative, .FALSE.
otherwise
Procedure that does nothing. It is used to instantiate a deferred idbase procedure which is not needed in TYPE bnslorene. It also serves as a placeholder in case the idbase procedure will be needed in the future.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(bnslorene), | intent(inout) | :: | this | |||
integer, | intent(in) | :: | flag |
Identifies what kind of initialization has to be done |
||
logical, | intent(in), | optional | :: | switch |
If |
Interface to the \(\texttt{LORENE}\) method of class \(\texttt{Bin_NS}\) with the same name, that returns 1 if the energy density is positive, and if the specific energy is positive, and if the pressure is positive, at the specified point; it returns 0 otherwise
FT 12.03.2021
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(C_PTR), | intent(in), | VALUE | :: | optr |
C pointer pointing to a \(\texttt{LORENE}\) \(\texttt{Bin_NS}\) object |
|
real(kind=C_DOUBLE), | intent(in), | VALUE | :: | x |
coordinate of the desired point |
|
real(kind=C_DOUBLE), | intent(in), | VALUE | :: | y |
coordinate of the desired point |
|
real(kind=C_DOUBLE), | intent(in), | VALUE | :: | z |
coordinate of the desired point |
1 if the energy density or the specific energy or the pressure are positve, 0 otherwise
Prints a summary of the physical properties of the \(\mathrm{BNS}\) produced by
\(\texttt{LORENE}\) to the standard output and, optionally, to a formatted file
whose name is given as the optional argument filename
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(bnslorene), | intent(in) | :: | this | |||
character(len=*), | intent(inout), | optional | :: | filename |
Name of the formatted file to print the summary to |
Returns the \(\texttt{LORENE}\) baryon mass density at a point
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(bnslorene), | intent(in) | :: | this |
bnslorene object which this PROCEDURE is a member of |
||
double precision, | intent(in), | VALUE | :: | x |
coordinate of the desired point |
|
double precision, | intent(in), | VALUE | :: | y |
coordinate of the desired point |
|
double precision, | intent(in), | VALUE | :: | z |
coordinate of the desired point |
Baryon mass density at
Returns the \(\texttt{LORENE}\) pressure at a point
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(bnslorene), | intent(in) | :: | this |
bnslorene object which this PROCEDURE is a member of |
||
double precision, | intent(in), | VALUE | :: | x |
coordinate of the desired point |
|
double precision, | intent(in), | VALUE | :: | y |
coordinate of the desired point |
|
double precision, | intent(in), | VALUE | :: | z |
coordinate of the desired point |
Pressure at
Stores the \(\mathrm{ID}\) in non bnslorene-member arrays with the same shape as the bnslorene member arrays
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(bnslorene), | intent(inout) | :: | this |
bnslorene object which this PROCEDURE is a member of |
||
integer, | intent(in) | :: | n | |||
double precision, | intent(in), | DIMENSION(:) | :: | x | ||
double precision, | intent(in), | DIMENSION(:) | :: | y | ||
double precision, | intent(in), | DIMENSION(:) | :: | z | ||
double precision, | intent(inout), | DIMENSION(:) | :: | lapse | ||
double precision, | intent(inout), | DIMENSION(:) | :: | shift_x | ||
double precision, | intent(inout), | DIMENSION(:) | :: | shift_y | ||
double precision, | intent(inout), | DIMENSION(:) | :: | shift_z | ||
double precision, | intent(inout), | DIMENSION(:) | :: | g_xx | ||
double precision, | intent(inout), | DIMENSION(:) | :: | g_xy | ||
double precision, | intent(inout), | DIMENSION(:) | :: | g_xz | ||
double precision, | intent(inout), | DIMENSION(:) | :: | g_yy | ||
double precision, | intent(inout), | DIMENSION(:) | :: | g_yz | ||
double precision, | intent(inout), | DIMENSION(:) | :: | g_zz | ||
double precision, | intent(inout), | DIMENSION(:) | :: | k_xx | ||
double precision, | intent(inout), | DIMENSION(:) | :: | k_xy | ||
double precision, | intent(inout), | DIMENSION(:) | :: | k_xz | ||
double precision, | intent(inout), | DIMENSION(:) | :: | k_yy | ||
double precision, | intent(inout), | DIMENSION(:) | :: | k_yz | ||
double precision, | intent(inout), | DIMENSION(:) | :: | k_zz | ||
double precision, | intent(inout), | DIMENSION(:) | :: | baryon_density | ||
double precision, | intent(inout), | DIMENSION(:) | :: | energy_density | ||
double precision, | intent(inout), | DIMENSION(:) | :: | specific_energy | ||
double precision, | intent(inout), | DIMENSION(:) | :: | pressure | ||
double precision, | intent(inout), | DIMENSION(:) | :: | u_euler_x | ||
double precision, | intent(inout), | DIMENSION(:) | :: | u_euler_y | ||
double precision, | intent(inout), | DIMENSION(:) | :: | u_euler_z |
Stores the hydro \(\mathrm{ID}\) in the arrays needed to compute the constraints on the refined mesh
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(bnslorene), | intent(inout) | :: | this |
bnslorene object which this PROCEDURE is a member of |
||
integer, | intent(in) | :: | nx | |||
integer, | intent(in) | :: | ny | |||
integer, | intent(in) | :: | nz | |||
double precision, | intent(in), | DIMENSION(:,:,:,:) | :: | pos | ||
double precision, | intent(inout), | DIMENSION(:,:,:) | :: | baryon_density | ||
double precision, | intent(inout), | DIMENSION(:,:,:) | :: | energy_density | ||
double precision, | intent(inout), | DIMENSION(:,:,:) | :: | specific_energy | ||
double precision, | intent(inout), | DIMENSION(:,:,:) | :: | pressure | ||
double precision, | intent(inout), | DIMENSION(:,:,:,:) | :: | u_euler |
Stores the \(\mathrm{ID}\) in the bnslorene member arrays
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(bnslorene), | intent(inout) | :: | this |
bnslorene object which this PROCEDURE is a member of |
||
integer, | intent(in) | :: | n | |||
double precision, | intent(in), | DIMENSION(:) | :: | x | ||
double precision, | intent(in), | DIMENSION(:) | :: | y | ||
double precision, | intent(in), | DIMENSION(:) | :: | z |
Stores the components of the extrinsic curvature in arrays
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(bnslorene), | intent(inout) | :: | this |
bnslorene object which this PROCEDURE is a member of |
||
integer, | intent(in) | :: | n | |||
double precision, | intent(in), | DIMENSION(:) | :: | x | ||
double precision, | intent(in), | DIMENSION(:) | :: | y | ||
double precision, | intent(in), | DIMENSION(:) | :: | z | ||
double precision, | intent(inout), | DIMENSION(:) | :: | k_xx | ||
double precision, | intent(inout), | DIMENSION(:) | :: | k_xy | ||
double precision, | intent(inout), | DIMENSION(:) | :: | k_xz | ||
double precision, | intent(inout), | DIMENSION(:) | :: | k_yy | ||
double precision, | intent(inout), | DIMENSION(:) | :: | k_yz | ||
double precision, | intent(inout), | DIMENSION(:) | :: | k_zz |
Stores the hydro \(\mathrm{ID}\) in the arrays needed to compute the baryon mass
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(bnslorene), | intent(inout) | :: | this |
bnslorene object which this PROCEDURE is a member of |
||
double precision, | intent(in) | :: | x | |||
double precision, | intent(in) | :: | y | |||
double precision, | intent(in) | :: | z | |||
double precision, | intent(out), | DIMENSION(6) | :: | g | ||
double precision, | intent(out) | :: | baryon_density | |||
double precision, | intent(out) | :: | gamma_euler |
Stores the hydro \(\mathrm{ID}\) in the arrays needed to compute the \(\mathrm{SPH}\) \(\mathrm{ID}\)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(bnslorene), | intent(inout) | :: | this |
bnslorene object which this PROCEDURE is a member of |
||
integer, | intent(in) | :: | n | |||
real(kind=C_DOUBLE), | intent(in), | DIMENSION(:) | :: | x | ||
real(kind=C_DOUBLE), | intent(in), | DIMENSION(:) | :: | y | ||
real(kind=C_DOUBLE), | intent(in), | DIMENSION(:) | :: | z | ||
double precision, | intent(inout), | DIMENSION(:) | :: | lapse | ||
double precision, | intent(inout), | DIMENSION(:) | :: | shift_x | ||
double precision, | intent(inout), | DIMENSION(:) | :: | shift_y | ||
double precision, | intent(inout), | DIMENSION(:) | :: | shift_z | ||
double precision, | intent(inout), | DIMENSION(:) | :: | g_xx | ||
double precision, | intent(inout), | DIMENSION(:) | :: | g_xy | ||
double precision, | intent(inout), | DIMENSION(:) | :: | g_xz | ||
double precision, | intent(inout), | DIMENSION(:) | :: | g_yy | ||
double precision, | intent(inout), | DIMENSION(:) | :: | g_yz | ||
double precision, | intent(inout), | DIMENSION(:) | :: | g_zz | ||
double precision, | intent(inout), | DIMENSION(:) | :: | baryon_density | ||
double precision, | intent(inout), | DIMENSION(:) | :: | energy_density | ||
double precision, | intent(inout), | DIMENSION(:) | :: | specific_energy | ||
double precision, | intent(inout), | DIMENSION(:) | :: | pressure | ||
double precision, | intent(inout), | DIMENSION(:) | :: | u_euler_x | ||
double precision, | intent(inout), | DIMENSION(:) | :: | u_euler_y | ||
double precision, | intent(inout), | DIMENSION(:) | :: | u_euler_z |
Stores the spacetime \(\mathrm{ID}\) in multi-dimensional arrays needed to compute the BSSN variables and constraints
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(bnslorene), | intent(inout) | :: | this |
bnslorene object which this PROCEDURE is a member of |
||
integer, | intent(in) | :: | nx | |||
integer, | intent(in) | :: | ny | |||
integer, | intent(in) | :: | nz | |||
double precision, | intent(in), | DIMENSION(:,:,:,:) | :: | pos | ||
double precision, | intent(inout), | DIMENSION(:,:,:) | :: | lapse | ||
double precision, | intent(inout), | DIMENSION(:,:,:,:) | :: | shift | ||
double precision, | intent(inout), | DIMENSION(:,:,:,:) | :: | g | ||
double precision, | intent(inout), | DIMENSION(:,:,:,:) | :: | ek |
Returns the \(\texttt{LORENE}\) conformally flat spatial metric component at a point
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(bnslorene), | intent(in) | :: | this |
bnslorene object which this PROCEDURE is a member of |
||
real(kind=C_DOUBLE), | intent(in), | VALUE | :: | x |
coordinate of the desired point |
|
real(kind=C_DOUBLE), | intent(in), | VALUE | :: | y |
coordinate of the desired point |
|
real(kind=C_DOUBLE), | intent(in), | VALUE | :: | z |
coordinate of the desired point |
at
TYPE representing a binary system of neutron stars (\(\mathrm{BNS}\)) produced with \(\texttt{LORENE}\)
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
double precision, | public | :: | adm_mass |
ADM mass of the system |
|||
double precision, | public | :: | angular_momentum_x | = | 0.0D0 |
component of the angular momentum of the BNS system |
|
double precision, | public | :: | angular_momentum_y | = | 0.0D0 |
component of the angular momentum of the BNS system |
|
double precision, | public | :: | angular_momentum_z | = | 0.0D0 |
component of the angular momentum of the BNS system |
|
double precision, | public | :: | angular_vel |
Angular velocity |
|||
double precision, | public | :: | area_radius1 |
Areal (or circumferential) radius of star 1 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 | :: | area_radius2 |
Areal (or circumferential) radius of star 2 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(2,3) | :: | barycenter |
Array containing the barycenters of the stars |
||
double precision, | public | :: | barycenter1_x |
Barycenter of star 1 |
|||
double precision, | public | :: | barycenter2_x |
Barycenter of star 2 |
|||
double precision, | public, | DIMENSION(3) | :: | barycenter_system |
Array containing the barycenters of the stars |
||
double precision, | private, | DIMENSION(:), ALLOCATABLE | :: | baryon_density |
1-D array storing the baryon mass density in the fluid frame [kg m^{-3}] |
||
integer, | private | :: | bns_identifier | = | 0 |
Identifier of the bnslorene object |
|
type(C_PTR), | private | :: | bns_ptr |
C pointer to the \(\texttt{LORENE}\)'s \(\texttt{Bin_NS}\) object N.B. This variable is global. The pointer to the second \(\texttt{LORENE}\) \(\texttt{Bin_NS}\) object will overwrite the first one, and so on. This variable stores the pointer to the last defined \(\texttt{LORENE}\) \(\texttt{Bin_NS}\) object. That's why it is not freed in the destructor of a bns object. Presently, it has to be freed by the user at the end of the PROGRAM. See the last part of the PROGRAM in setup_lorene_id.f90, for example. |
|||
double precision, | public, | DIMENSION(2,3) | :: | center |
Array containing the centers of the stars |
||
double precision, | public | :: | center1_x |
Stellar center of star 1 (origin of the LORENE chart centered on star 1) |
|||
double precision, | public | :: | center2_x |
Stellar center of star 2 (origin of the LORENE chart centered on star 2) |
|||
type(timer), | public | :: | construction_timer |
Timer that times the construction of the appropriate object |
|||
double precision, | public | :: | distance |
Distance between the points of maximum baryon density |
|||
double precision, | public | :: | distance_com |
Distance between the centers of mass |
|||
double precision, | private, | DIMENSION(:), ALLOCATABLE | :: | energy_density |
1-D array storing the energy density [kg c^2 m^{-3}] |
||
double precision, | public | :: | energy_density_center1 |
Central energy density for star 1 |
|||
double precision, | public | :: | energy_density_center2 |
Central energy density for star 2 |
|||
double precision, | public | :: | ent_center1 |
Central enthalpy for star 1 |
|||
double precision, | public | :: | ent_center2 |
Central enthalpy for star 2 |
|||
character(len=:), | public, | ALLOCATABLE | :: | eos1 |
Name of the equation of state (\(\mathrm{EOS}\)) of star 1 |
||
integer, | public | :: | eos1_id |
\(\texttt{SPHINCS_ID}\) identifier for the \(\mathrm{EOS}\) of star 1 |
|||
integer, | private | :: | eos1_loreneid |
\(\texttt{LORENE}\) identifier for the \(\mathrm{EOS}\) of star 1 |
|||
character(len=:), | public, | ALLOCATABLE | :: | eos2 |
Name of the equation of state (\(\mathrm{EOS}\)) of star 2 |
||
integer, | public | :: | eos2_id |
\(\texttt{SPHINCS_ID}\) identifier for the \(\mathrm{EOS}\) of star 2 |
|||
integer, | private | :: | eos2_loreneid |
\(\texttt{LORENE}\) identifier for the \(\mathrm{EOS}\) of star 2 |
|||
character(len=max_length), | public, | DIMENSION(2) | :: | eos_filenames |
Array of strings containing the names of the files containing the \(\mathrm{EOS}\) to be used for each matter object. |
||
character(len=:), | public, | ALLOCATABLE | :: | eos_table1 |
String containing the path to the files containing the table of the \(\mathrm{EOS}\) for star 1. |
||
character(len=:), | public, | ALLOCATABLE | :: | eos_table2 |
String containing the path to the files containing the table of the \(\mathrm{EOS}\) for star 2. |
||
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 | :: | gamma0_1 |
Piecewise polytrope: polytropic index for star 1 |
|||
double precision, | public | :: | gamma0_2 |
Piecewise polytrope: polytropic index for star 2 |
|||
double precision, | public | :: | gamma1_1 |
Piecewise polytrope: polytropic index for star 1 |
|||
double precision, | public | :: | gamma1_2 |
Piecewise polytrope: polytropic index for star 2 |
|||
double precision, | public | :: | gamma2_1 |
Piecewise polytrope: polytropic index for star 1 |
|||
double precision, | public | :: | gamma2_2 |
Piecewise polytrope: polytropic index for star 2 |
|||
double precision, | public | :: | gamma3_1 |
Piecewise polytrope: polytropic index for star 1 |
|||
double precision, | public | :: | gamma3_2 |
Piecewise polytrope: polytropic index for star 2 |
|||
double precision, | public | :: | gamma_1 |
Single polytrope: polytropic index for star 1 |
|||
double precision, | public | :: | gamma_2 |
Single polytrope: polytropic index for star 2 |
|||
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 | :: | kappa0_1 |
Piecewise polytrope: polytropic constant for star 1 [pure number] |
|||
double precision, | public | :: | kappa0_2 |
Piecewise polytrope: polytropic constant for star 2 [pure number] |
|||
double precision, | public | :: | kappa1_1 |
Piecewise polytrope: polytropic constant for star 1 [pure number] |
|||
double precision, | public | :: | kappa1_2 |
Piecewise polytrope: polytropic constant for star 2 [pure number] |
|||
double precision, | public | :: | kappa2_1 |
Piecewise polytrope: polytropic constant for star 1 [pure number] |
|||
double precision, | public | :: | kappa2_2 |
Piecewise polytrope: polytropic constant for star 2 [pure number] |
|||
double precision, | public | :: | kappa3_1 |
Piecewise polytrope: polytropic constant for star 1 [pure number] |
|||
double precision, | public | :: | kappa3_2 |
Piecewise polytrope: polytropic constant for star 2 [pure number] |
|||
double precision, | public | :: | kappa_1 |
Single polytrope: polytropic constant for star 1 [pure number] |
|||
double precision, | public | :: | kappa_2 |
Single polytrope: polytropic constant for star 2 [pure number] |
|||
double precision, | public, | DIMENSION(:), ALLOCATABLE | :: | lapse |
1-D array storing the lapse function |
||
double precision, | public | :: | linear_momentum_x | = | 0.0D0 |
component of the ADM linear momentum of the system |
|
double precision, | public | :: | linear_momentum_y | = | 0.0D0 |
component of the ADM linear momentum of the system |
|
double precision, | public | :: | linear_momentum_z | = | 0.0D0 |
component of the ADM linear momentum of the system |
|
double precision, | public | :: | logP1_1 |
Piecewise polytrope: Base 10 exponent of the pressure at the first fiducial density (between and ) for star 1 |
|||
double precision, | public | :: | logP1_2 |
Piecewise polytrope: Base 10 exponent of the pressure at the first fiducial density (between and ) for star 2 |
|||
double precision, | public | :: | logRho0_1 |
Piecewise polytrope: Base 10 exponent of the first fiducial density (between and ) for star 1 |
|||
double precision, | public | :: | logRho0_2 |
Piecewise polytrope: Base 10 exponent of the second fiducial density (between and ) for star 2 |
|||
double precision, | public | :: | logRho1_1 |
Piecewise polytrope: Base 10 exponent of the second fiducial density (between and ) for star 1 |
|||
double precision, | public | :: | logRho1_2 |
Piecewise polytrope: Base 10 exponent of the second fiducial density (between and ) for star 2 |
|||
double precision, | public | :: | logRho2_1 |
Piecewise polytrope: Base 10 exponent of the third fiducial density (between and ) for star 1 |
|||
double precision, | public | :: | logRho2_2 |
Piecewise polytrope: Base 10 exponent of the third fiducial density (between and ) for star 2 |
|||
double precision, | public | :: | mOmega |
mOmega= ( angular_vel ) ( mass_grav1 + mass_grav2 ) [pure number] |
|||
double precision, | public, | DIMENSION(2) | :: | mass |
Array containing the baryonic masses |
||
double precision, | public | :: | mass1 |
Baryonic mass of star 1 |
|||
double precision, | public | :: | mass2 |
Baryonic mass of star 2 |
|||
double precision, | public, | DIMENSION(2) | :: | mass_grav |
Array containing the gravitational masses |
||
double precision, | public | :: | mass_grav1 |
Gravitational mass of star 1 |
|||
double precision, | public | :: | mass_grav2 |
Gravitational mass of star 2 |
|||
double precision, | public | :: | nbar_center1 |
Central baryon number density for star 1 |
|||
double precision, | public | :: | nbar_center2 |
Central baryon number density for star 2 |
|||
integer, | public | :: | npeos_1 |
Piecewise polytrope: Number of polytropic pieces for star 1 |
|||
integer, | public | :: | npeos_2 |
Piecewise polytrope: Number of polytropic pieces for star 2 |
|||
double precision, | private, | DIMENSION(:), ALLOCATABLE | :: | pressure |
1-D array storing the pressure |
||
double precision, | public | :: | pressure_center1 |
Central pressure for star 1 |
|||
double precision, | public | :: | pressure_center2 |
Central pressure for star 2 |
|||
double precision, | public, | DIMENSION(2,6) | :: | radii |
Array containing the signed radii of the stars |
||
double precision, | public | :: | radius1_x_comp |
Radius of star 1, in the x direction, towards the companion |
|||
double precision, | public | :: | radius1_x_opp |
Radius of star 1, in the x direction, opposite to companion |
|||
double precision, | public | :: | radius1_y |
Radius of star 1, in the y direction |
|||
double precision, | public | :: | radius1_z |
Radius of star 1, in the z direction |
|||
double precision, | public | :: | radius2_x_comp |
Radius of star 2, in the x direction, towards the companion |
|||
double precision, | public | :: | radius2_x_opp |
Radius of star 2, in the x direction, opposite to companion |
|||
double precision, | public | :: | radius2_y |
Radius of star 2, in the y direction |
|||
double precision, | public | :: | radius2_z |
Radius of star 2, in the z direction |
|||
double precision, | public | :: | rho_center1 |
Central baryon mass density for star 1 |
|||
double precision, | public | :: | rho_center2 |
Central baryon mass density for star 2 |
|||
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, | private, | DIMENSION(:), ALLOCATABLE | :: | specific_energy |
1-D array storing the specific internal energy [c^2] |
||
double precision, | public | :: | specific_energy_center1 |
Central specific energy for star 1 |
|||
double precision, | public | :: | specific_energy_center2 |
Central specific energy for star 2 |
|||
type(surface), | public, | DIMENSION(:), ALLOCATABLE | :: | surfaces |
Array containing, for each matter object, a set of coordinates of some points modelling the surfaces. |
||
double precision, | public | :: | t_merger |
Estimated time of the merger P. C. Peters, "Gravitational Radiation and the Motion of Two Point Masses", Phys. Rev. 136, B1224 (1964) |
|||
type(tabu_eos), | public, | DIMENSION(:), ALLOCATABLE | :: | tab_eos |
Array containing a tabulated \(\mathrm{EOS}\) for each matter object, when used. |
||
double precision, | private, | DIMENSION(:), ALLOCATABLE | :: | v_euler_x |
1-D array storing the x component of the fluid 3-velocity with respect to |
||
double precision, | private, | DIMENSION(:), ALLOCATABLE | :: | v_euler_y |
1-D array storing the y component of the fluid 3-velocity with respect to |
||
double precision, | private, | DIMENSION(:), ALLOCATABLE | :: | v_euler_z |
1-D array storing the z component of the fluid 3-velocity with respect to |
final :: destruct_bnslorene | Finalizer (Destructor) of a bnslorene object |
procedure , public :: allocate_bnslorene_memory Interface | Allocates memory for the bnslorene member arrays |
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 , public :: construct_binary Interface | Constructs the \(\texttt{LORENE}\) \(\texttt{Bin_NS}\) object |
procedure , public , NOPASS :: correct_adm_linear_momentum Interface | Corrects the \(\mathrm{SPH}\) \(\mathrm{ID}\) so that the linear momentum is zero |
procedure , public :: deallocate_bnslorene_memory Interface | Deallocates memory for the bnslorene member arrays |
procedure , public :: derived_type_constructor => construct_bnslorene Interface | |
procedure , public :: destruct_binary Interface | Destructs the \(\texttt{LORENE}\) \(\texttt{Bin_NS}\) object |
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 , NON_OVERRIDABLE :: find_center Interface | Finds the center of a matter object, as the point where the density is maximal. |
procedure , public , NON_OVERRIDABLE :: find_print_surfaces Interface | Finds the surfaces of the stars, and prints them to a formatted file. |
procedure , public , NON_OVERRIDABLE :: find_radius Interface | Finds the radius of a star, relative to a center and along a direction. The radius is determined as the first point where the density is zero. |
procedure , public , NON_OVERRIDABLE :: find_surface Interface | Finds the surface of a star, using [[bnsbase::find_radius]] along many directions. |
procedure , public :: get_adm_mass Interface | Returns adm_mass |
procedure , public :: get_angular_momentum Interface | Returns the angular momentum vector angular_momentum_x, angular_momentum_y, angular_momentum_z |
procedure , public :: get_angular_vel Interface | Returns angular_vel |
procedure , public :: get_barycenter1_x Interface | Returns barycenter1_x |
procedure , public :: get_barycenter2_x Interface | Returns barycenter2_x |
procedure , public :: get_bns_identifier Interface | Returns bns_identifier |
procedure , public :: get_center1_x Interface | Returns center1_x |
procedure , public :: get_center2_x Interface | Returns center2_x |
procedure , public , NON_OVERRIDABLE :: get_cold_system Interface | Returns cold_system, the |
procedure , public :: get_distance Interface | Returns distance |
procedure , public :: get_distance_com Interface | Returns distance_com |
procedure , public :: get_energy_density_center1 Interface | Returns energy_density_center1 |
procedure , public :: get_energy_density_center2 Interface | Returns energy_density_center2 |
procedure , public :: get_ent_center1 Interface | Returns ent_center1 |
procedure , public :: get_ent_center2 Interface | Returns ent_center2 |
procedure , public :: get_eos1 Interface | Returns eos1 |
procedure , public :: get_eos1_id => get_eos1_loreneid Interface | Returns the \(\texttt{LORENE}\) identifier for the EOS of star 1 |
procedure , public :: get_eos1_loreneid Interface | Returns eos1_loreneid |
procedure , public :: get_eos2 Interface | Returns eos2 |
procedure , public :: get_eos2_id => get_eos2_loreneid Interface | Returns the \(\texttt{LORENE}\) identifier for the EOS of star 2 |
procedure , public :: get_eos2_loreneid Interface | Returns eos2_loreneid |
procedure , public :: get_eos_id Interface | |
procedure , public , NON_OVERRIDABLE :: get_estimate_length_scale Interface | Returns estimate_length_scale, the |
procedure , public :: get_fa => get_field_array Interface | Access the bnslorene-member arrays |
generic, public :: get_field => get_fa, get_fv | GENERIC PROCEDURE, overloded to access the bnslorene-member variables as arrays and as values |
procedure , public :: get_fv => get_field_value Interface | Access the components of the bnslorene-member arrays |
procedure , public :: get_gamma0_1 Interface | Returns gamma0_1 |
procedure , public :: get_gamma0_2 Interface | Returns gamma0_2 |
procedure , public :: get_gamma1_1 Interface | Returns gamma1_1 |
procedure , public :: get_gamma1_2 Interface | Returns gamma1_2 |
procedure , public :: get_gamma2_1 Interface | Returns gamma2_1 |
procedure , public :: get_gamma2_2 Interface | Returns gamma2_2 |
procedure , public :: get_gamma3_1 Interface | Returns gamma3_1 |
procedure , public :: get_gamma3_2 Interface | Returns gamma3_2 |
procedure , public :: get_gamma_1 Interface | Returns gamma_1 |
procedure , public :: get_gamma_2 Interface | Returns gamma_2 |
procedure , public :: get_grav_mass1 Interface | Returns mass_grav1 |
procedure , public :: get_grav_mass2 Interface | Returns mass_grav2 |
procedure , public :: get_kappa0_1 Interface | Returns kappa0_1 |
procedure , public :: get_kappa0_2 Interface | Returns kappa0_2 |
procedure , public :: get_kappa1_1 Interface | Returns kappa1_1 |
procedure , public :: get_kappa1_2 Interface | Returns kappa1_2 |
procedure , public :: get_kappa2_1 Interface | Returns kappa2_1 |
procedure , public :: get_kappa2_2 Interface | Returns kappa2_2 |
procedure , public :: get_kappa3_1 Interface | Returns kappa3_1 |
procedure , public :: get_kappa3_2 Interface | Returns kappa3_2 |
procedure , public :: get_kappa_1 Interface | Returns kappa_1 |
procedure , public :: get_kappa_2 Interface | Returns kappa_2 |
procedure , public :: get_linear_momentum Interface | Returns the linear momentum vector linear_momentum_x, linear_momentum_y, linear_momentum_z |
procedure , public :: get_logP1_1 Interface | Returns logP1_1 |
procedure , public :: get_logP1_2 Interface | Returns logP1_2 |
procedure , public :: get_logRho0_1 Interface | Returns logRho0_1 |
procedure , public :: get_logRho0_2 Interface | Returns logRho0_2 |
procedure , public :: get_logRho1_1 Interface | Returns logRho1_1 |
procedure , public :: get_logRho1_2 Interface | Returns logRho1_2 |
procedure , public :: get_logRho2_1 Interface | Returns logRho2_1 |
procedure , public :: get_logRho2_2 Interface | Returns logRho2_2 |
procedure , public :: get_mass1 Interface | Returns mass1 |
procedure , public :: get_mass2 Interface | Returns mass2 |
procedure , public , NON_OVERRIDABLE :: get_n_matter Interface | Returns n_matter, the number of matter objects in the physical system |
procedure , public :: get_nbar_center1 Interface | Returns nbar_center1 |
procedure , public :: get_nbar_center2 Interface | Returns nbar_center2 |
procedure , public :: get_npeos_1 Interface | Returns npeos_1 |
procedure , public :: get_npeos_2 Interface | Returns npeos_2 |
procedure , public , NON_OVERRIDABLE :: get_one_lapse Interface | Returns one_lapse, the |
procedure , public :: get_pressure_center1 Interface | Returns pressure_center1 |
procedure , public :: get_pressure_center2 Interface | Returns pressure_center2 |
procedure , public :: get_radius1_x_comp Interface | Returns radius1_x_comp |
procedure , public :: get_radius1_x_opp Interface | Returns radius1_x_opp |
procedure , public :: get_radius1_y Interface | Returns radius1_y |
procedure , public :: get_radius1_z Interface | Returns radius1_z |
procedure , public :: get_radius2_x_comp Interface | Returns radius2_x_comp |
procedure , public :: get_radius2_x_opp Interface | Returns radius2_x_opp |
procedure , public :: get_radius2_y Interface | Returns radius2_y |
procedure , public :: get_radius2_z Interface | Returns radius2_y |
procedure , public :: get_rho_center1 Interface | Returns rho_center1 |
procedure , public :: get_rho_center2 Interface | Returns rho_center2 |
procedure , public :: get_specific_energy_center1 Interface | Returns specific_energy_center1 |
procedure , public :: get_specific_energy_center2 Interface | Returns specific_energy_center2 |
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 , NON_OVERRIDABLE :: get_zero_shift Interface | Returns zero_shift, the |
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 , public :: initialize_id => nothing Interface | |
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 :: nothing Interface | Procedure that does nothing. It is used to instantiate a deferred idbase procedure which is not needed in TYPE bnslorene. It also serves as a placeholder in case the idbase procedure will be needed in the future. |
procedure , public :: print_bns_properties Interface | Prints the parameters of the \(\mathrm{BNS}\) to the standard output |
procedure , public :: print_summary => print_summary_bnsbase Interface | |
procedure , public :: print_summary_derived => print_summary_bnslorene Interface | |
procedure , public :: read_bns_properties Interface | Imports the parameters of the \(\mathrm{BNS}\) from \(\texttt{LORENE}\) |
procedure , public :: read_id_full Interface | |
procedure , public :: read_id_hydro Interface | |
procedure , public :: read_id_int Interface | Stores the \(\mathrm{ID}\) in the bnslorene member arrays |
procedure , public :: read_id_k Interface | |
procedure , public :: read_id_mass_b Interface | |
procedure , public :: read_id_particles Interface | |
procedure , public :: read_id_spacetime Interface | |
procedure , public :: read_mass_density => read_bnslorene_mass_density Interface | Returns the \(\texttt{LORENE}\)'s mass density at the desired point |
procedure , public :: read_pressure => read_bnslorene_pressure Interface | Returns the \(\texttt{LORENE}\)'s pressure at the desired point |
procedure , public :: read_spatial_metric Interface | Returns the \(\texttt{LORENE}\)'s conformally flat spatial ADM metric |
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 , public :: return_eos_parameters => get_eos_parameters Interface | |
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 |
procedure , public , NON_OVERRIDABLE :: set_estimate_length_scale Interface | Sets estimate_length_scale, the |
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 |
procedure , public , NON_OVERRIDABLE :: set_zero_shift Interface | Sets zero_shift, the |
procedure , public :: test_position => is_hydro_positive Interface | Returns 1 if the energy density or the specific energy or the pressure are negative |