31 #include <lal/LALStdlib.h>
32 #include <lal/LALString.h>
33 #include <lal/FileIO.h>
34 #include <lal/LALSimNeutronStar.h>
35 #include <lal/LALSimReadData.h>
41 LALSIM_NEUTRON_STAR_EOS_DATA_TYPE_TABULAR,
42 LALSIM_NEUTRON_STAR_EOS_DATA_TYPE_PIECEWISE_POLYTROPE,
43 LALSIM_NEUTRON_STAR_EOS_DATA_TYPE_NUMBER
47 typedef struct tagLALSimNeutronStarEOSDataTabular
48 LALSimNeutronStarEOSDataTabular;
49 typedef struct tagLALSimNeutronStarEOSDataPolytrope
50 LALSimNeutronStarEOSDataPolytrope;
51 typedef struct tagLALSimNeutronStarEOSDataPiecewisePolytrope
52 LALSimNeutronStarEOSDataPiecewisePolytrope;
54 typedef union tagLALSimNeutronStarEOSData {
55 LALSimNeutronStarEOSDataTabular *tabular;
56 LALSimNeutronStarEOSDataPolytrope *polytrope;
57 LALSimNeutronStarEOSDataPiecewisePolytrope *piecewisePolytrope;
58 } LALSimNeutronStarEOSData;
61 struct tagLALSimNeutronStarEOS {
77 LALSimNeutronStarEOSData
data;
84 "ALF1",
"ALF2",
"ALF3",
"ALF4",
85 "AP1",
"AP2",
"AP3",
"AP4",
"APR4_EPP",
86 "BBB2",
"BGN1H1",
"BPAL12",
87 "BSK19",
"BSK20",
"BSK21",
90 "H1",
"H2",
"H3",
"H4",
"H5",
"H6",
"H7",
91 "MPA1",
"MS1B",
"MS1B_PP",
"MS1_PP",
"MS1",
"MS2",
95 "SQM1",
"SQM2",
"SQM3",
96 "WFF1",
"WFF2",
"WFF3",
99 "KDE0V",
"KDE0V1",
"RS",
"SK255",
"SK272",
100 "SKA",
"SKB",
"SKI2",
"SKI3",
"SKI4",
"SKI5",
"SKI6",
102 "SLY2",
"SLY230A",
"SLY9",
108 "GMSR_BSK14_BSK24",
"GMSR_DHSL59_BSK24",
"GMSR_DHSL69_BSK24",
"GMSR_F0_BSK24",
"GMSR_H1_BSK24",
"GMSR_H2_BSK24",
109 "GMSR_H3_BSK24",
"GMSR_H4_BSK24",
"GMSR_H5_BSK24",
"GMSR_LN55_BSK24",
"GMSR_SLY5_BSK24",
"GPPVA_DD2_BSK24",
110 "GPPVA_DDME2_BSK24",
"GPPVA_FSU2_BSK24",
"GPPVA_FSU2H_BSK24",
"GPPVA_NL3WRL55_BSK24",
111 "KDE0V_BSK24",
"KDE0V1_BSK24",
"PCP_BSK24_BSK24",
"RG_SLY4_BSK24",
"RS_BSK24",
112 "SK255_BSK24",
"SKA_BSK24",
"SKB_BSK24",
"SKI2_BSK24",
"SKI3_BSK24",
"SKI4_BSK24",
"SKI6_BSK24",
113 "SKOP_BSK24",
"SLY2_BSK24",
"SLY9_BSK24",
"SLY230A_BSK24",
114 "XMLSLZ_DDLZ1_BSK24",
"XMLSLZ_DDME2_BSK24",
"XMLSLZ_DDMEX_BSK24",
"XMLSLZ_GM1_BSK24",
"XMLSLZ_MTVTC_BSK24",
115 "XMLSLZ_NL3_BSK24",
"XMLSLZ_PKDD_BSK24",
"XMLSLZ_TM1_BSK24",
"XMLSLZ_TW99_BSK24",
"ABHT_QMC_RMF1_META",
116 "ABHT_QMC_RMF2_META",
"ABHT_QMC_RMF3_META",
"ABHT_QMC_RMF4_META",
"BL_CHIRAL_META"
209 return eos->hMinAcausal;
225 e = eos->e_of_p(
p, eos);
240 h = eos->h_of_p(
p, eos);
255 p = eos->p_of_h(h, eos);
270 e = eos->e_of_h(h, eos);
285 rho = eos->rho_of_h(h, eos);
302 dedp = eos->dedp_of_p(
p, eos);
317 v = eos->v_of_h(h, eos);
451 p = eos->p_of_e(
e, eos);
468 p = eos->p_of_rho(rho, eos);
#define LAL_G_C2_SI
Factor to convert density in kg/m^3 to geometerized units of m^-2.
struct tagLALSimNeutronStarEOS LALSimNeutronStarEOS
Incomplete type for the neutron star Equation of State (EOS).
#define LAL_G_C4_SI
Factor to convert pressure in Pa to geometerized units of m^-2.
double XLALSimNeutronStarEOSRestMassDensityOfPseudoEnthalpy(double h, LALSimNeutronStarEOS *eos)
Returns the rest mass density (kg m^-3) at a given value of the dimensionless pseudo-enthalpy.
double XLALSimNeutronStarEOSMinAcausalPseudoEnthalpy(LALSimNeutronStarEOS *eos)
Returns the minimum pseudo-enthalpy at which EOS becomes acausal (speed of sound > speed of light) (d...
double XLALSimNeutronStarEOSEnergyDensityDerivOfPressure(double p, LALSimNeutronStarEOS *eos)
Returns the gradient of the energy density with respect to the pressure (dimensionless) at a given va...
double XLALSimNeutronStarEOSPressureOfRestMassDensity(double rho, LALSimNeutronStarEOS *eos)
Returns the pressure in Pa at a given rest-mass density in kg/m^3.
double XLALSimNeutronStarEOSEnergyDensityOfPressureGeometerized(double p, LALSimNeutronStarEOS *eos)
Returns the energy density in geometerized units (m^-2) at a given pressure in geometerized units (m^...
const char *const lalSimNeutronStarEOSNames[111]
Recognised equations of state names.
double XLALSimNeutronStarEOSPressureOfPseudoEnthalpy(double h, LALSimNeutronStarEOS *eos)
Returns the pressure (Pa) at a given value of the dimensionless pseudo-enthalpy.
double XLALSimNeutronStarEOSEnergyDensityDerivOfPressureGeometerized(double p, LALSimNeutronStarEOS *eos)
Returns the gradient of the energy density with respect to the pressure (dimensionless) at a given va...
double XLALSimNeutronStarEOSPressureOfEnergyDensity(double e, LALSimNeutronStarEOS *eos)
Returns the pressure in Pa at a given energy density in J/m^3.
double XLALSimNeutronStarEOSEnergyDensityOfPseudoEnthalpyGeometerized(double h, LALSimNeutronStarEOS *eos)
Returns the energy density in geometerized units (m^-2) at a given value of the dimensionless pseudo-...
double XLALSimNeutronStarEOSSpeedOfSound(double h, LALSimNeutronStarEOS *eos)
Returns the speed of sound (m s^-1) at a given value of the pseudo-enthalpy (dimensionless).
double XLALSimNeutronStarEOSRestMassDensityOfPseudoEnthalpyGeometerized(double h, LALSimNeutronStarEOS *eos)
Returns the rest mass density in geometerized units (m^-2) at a given value of the dimensionless pseu...
double XLALSimNeutronStarEOSPseudoEnthalpyOfPressure(double p, LALSimNeutronStarEOS *eos)
Returns the dimensionless pseudo-enthalpy at a given pressure (Pa).
double XLALSimNeutronStarEOSSpeedOfSoundGeometerized(double h, LALSimNeutronStarEOS *eos)
Returns the speed of sound in geometerized units (dimensionless) at a given value of the pseudo-entha...
double XLALSimNeutronStarEOSMaxPressure(LALSimNeutronStarEOS *eos)
Returns the maximum pressure of the EOS in Pa.
char * XLALSimNeutronStarEOSName(LALSimNeutronStarEOS *eos)
The name of the equation of state.
double XLALSimNeutronStarEOSPressureOfPseudoEnthalpyGeometerized(double h, LALSimNeutronStarEOS *eos)
Returns the pressure in geometerized units (m^-2) at a given value of the dimensionless pseudo-enthal...
double XLALSimNeutronStarEOSEnergyDensityOfPressure(double p, LALSimNeutronStarEOS *eos)
Returns the energy density (J m^-3) at a given pressure (Pa).
double XLALSimNeutronStarEOSMaxPseudoEnthalpy(LALSimNeutronStarEOS *eos)
Returns the maximum pseudo enthalpy of the EOS (dimensionless).
double XLALSimNeutronStarEOSEnergyDensityOfPseudoEnthalpy(double h, LALSimNeutronStarEOS *eos)
Returns the energy density (J m^-3) at a given value of the dimensionless pseudo-enthalpy.
double XLALSimNeutronStarEOSMaxPressureGeometerized(LALSimNeutronStarEOS *eos)
Returns the maximum pressure of the EOS in geometrized units m^-2.
void XLALDestroySimNeutronStarEOS(LALSimNeutronStarEOS *eos)
Frees the memory associated with a pointer to an EOS structure.
double XLALSimNeutronStarEOSPseudoEnthalpyOfPressureGeometerized(double p, LALSimNeutronStarEOS *eos)
Returns the dimensionless pseudo-enthalpy at a given pressure in geometerized units (m^-2).