Commit 03d29a6b authored by Karl Wette's avatar Karl Wette

Merge branch 'tgr_pulsar' into 'master'

For non-GR known pulsar searches allow emission at the rotation frequency

See merge request lscsoft/lalsuite!905
parents aabe41a5 bbb16e7e
Pipeline #80451 failed with stages
in 100 minutes and 35 seconds
......@@ -416,6 +416,19 @@ void add_initial_variables( LALInferenceVariables *ini, PulsarParameters *pars )
add_variable_parameter( pars, ini, "HVECTORY", LALINFERENCE_PARAM_FIXED );
add_variable_parameter( pars, ini, "PSIVECTOR", LALINFERENCE_PARAM_FIXED );
add_variable_parameter( pars, ini, "PHI0VECTOR", LALINFERENCE_PARAM_FIXED );
add_variable_parameter( pars, ini, "HPLUS_F", LALINFERENCE_PARAM_FIXED );
add_variable_parameter( pars, ini, "HCROSS_F", LALINFERENCE_PARAM_FIXED );
add_variable_parameter( pars, ini, "PSITENSOR_F", LALINFERENCE_PARAM_FIXED );
add_variable_parameter( pars, ini, "PHI0TENSOR_F", LALINFERENCE_PARAM_FIXED );
add_variable_parameter( pars, ini, "HSCALARB_F", LALINFERENCE_PARAM_FIXED );
add_variable_parameter( pars, ini, "HSCALARL_F", LALINFERENCE_PARAM_FIXED );
add_variable_parameter( pars, ini, "PSISCALAR_F", LALINFERENCE_PARAM_FIXED );
add_variable_parameter( pars, ini, "PHI0SCALAR_F", LALINFERENCE_PARAM_FIXED );
add_variable_parameter( pars, ini, "HVECTORX_F", LALINFERENCE_PARAM_FIXED );
add_variable_parameter( pars, ini, "HVECTORY_F", LALINFERENCE_PARAM_FIXED );
add_variable_parameter( pars, ini, "PSIVECTOR_F", LALINFERENCE_PARAM_FIXED );
add_variable_parameter( pars, ini, "PHI0VECTOR_F", LALINFERENCE_PARAM_FIXED );
add_variable_parameter( pars, ini, "H0_F", LALINFERENCE_PARAM_FIXED );
/* sky position */
REAL8 ra = 0.;
......@@ -602,10 +615,6 @@ void initialise_prior( LALInferenceRunState *runState )
INT4 varyphase = 0, varyskypos = 0, varybinary = 0;
/* check if non-GR parameters are going to be used */
UINT4 nonGR = 0;
if ( LALInferenceGetProcParamVal( commandLine, "--nonGR" ) ){ nonGR = 1; }
ppt = LALInferenceGetProcParamVal( commandLine, "--prior-file" );
if( ppt ) { propfile = XLALStringDuplicate( LALInferenceGetProcParamVal(commandLine,"--prior-file")->value ); }
else{
......@@ -815,15 +824,6 @@ void initialise_prior( LALInferenceRunState *runState )
ifotemp = ifotemp->next;
}
if ( !LALInferenceGetProcParamVal(commandLine, "--test-gaussian-likelihood" ) ){
REAL8Vector *freqFactors = *(REAL8Vector **)LALInferenceGetVariable( ifo->params, "freqfactors" );
if ( nonGR && freqFactors->length != 1 && freqFactors->data[0] != 2. ){
fprintf(stderr, "Error... currently can only run with non-GR parameters for l=m=2 harmonic!\n");
exit(3);
}
}
/* now check for a parameter correlation coefficient matrix file */
ppt = LALInferenceGetProcParamVal( runState->commandLine, "--cor-file" );
if( ppt ){
......
......@@ -103,7 +103,7 @@ void get_pulsar_model( LALInferenceModel *model ){
/* speed of GWs as (1 - fraction of speed of light LAL_C_SI) */
add_pulsar_parameter( model->params, pars, "CGW" );
/* amplitudes for use with non-GR searches */
/* amplitudes for use with non-GR searches (with emission at twice the rotation frequency) */
/* tensor modes */
add_pulsar_parameter( model->params, pars, "HPLUS" );
add_pulsar_parameter( model->params, pars, "HCROSS" );
......@@ -121,8 +121,27 @@ void get_pulsar_model( LALInferenceModel *model ){
add_pulsar_parameter( model->params, pars, "PHI0TENSOR" );
add_pulsar_parameter( model->params, pars, "PSITENSOR" );
/* amplitudes for use in non-GR searches with emission at the rotation frequency */
/* tensor modes */
add_pulsar_parameter( model->params, pars, "HPLUS_F" );
add_pulsar_parameter( model->params, pars, "HCROSS_F" );
/* scalar modes */
add_pulsar_parameter( model->params, pars, "HSCALARB_F" );
add_pulsar_parameter( model->params, pars, "HSCALARL_F" );
/* vector modes */
add_pulsar_parameter( model->params, pars, "HVECTORX_F" );
add_pulsar_parameter( model->params, pars, "HVECTORY_F" );
add_pulsar_parameter( model->params, pars, "PHI0SCALAR_F" );
add_pulsar_parameter( model->params, pars, "PSISCALAR_F" );
add_pulsar_parameter( model->params, pars, "PHI0VECTOR_F" );
add_pulsar_parameter( model->params, pars, "PSIVECTOR_F" );
add_pulsar_parameter( model->params, pars, "PHI0TENSOR_F" );
add_pulsar_parameter( model->params, pars, "PSITENSOR_F" );
/* parameters that might be needed for particular models */
add_pulsar_parameter( model->params, pars, "H0" );
add_pulsar_parameter( model->params, pars, "H0_F" );
add_pulsar_parameter( model->params, pars, "IOTA" );
add_pulsar_parameter( model->params, pars, "COSIOTA" );
......@@ -285,14 +304,21 @@ void set_nonGR_model_parameters( PulsarParameters *pars, char* nonGRmodel ){
int isG4v = strcmp(nonGRmodel, "G4v") * strcmp(nonGRmodel, "g4v") * strcmp(nonGRmodel, "G4V");
int isEGR = strcmp(nonGRmodel, "enhanced-GR") * strcmp(nonGRmodel, "EGR") * strcmp(nonGRmodel, "egr") * strcmp(nonGRmodel, "eGR");
REAL8 h0 = PulsarGetREAL8ParamOrZero( pars, "H0" );
REAL8 h0_F = PulsarGetREAL8ParamOrZero( pars, "H0_F" );
REAL8 iota = PulsarGetREAL8ParamOrZero( pars, "IOTA" );
REAL8 cosiota = cos(iota);
REAL8 siniota = sin(iota);
/* check if COSIOTA was passed directly instead */
if( PulsarGetREAL8ParamOrZero( pars, "COSIOTA" ) != 0 ){
cosiota = PulsarGetREAL8ParamOrZero( pars, "COSIOTA" );
siniota = sin(acos(cosiota));
}
if( isG4v == 0 ){
/* \f$ h_{\rm x} = h_0 \sin \iota~,~\phi_{\rm x} = -\pi/2 \f$ */
/* \f$ h_{\rm y} = h_0 \sin \iota \cos \iota~,~\phi_{\rm y} = 0 */
REAL8 iota = PulsarGetREAL8ParamOrZero( pars, "IOTA" );
REAL8 cosiota = cos(iota);
REAL8 siniota = sin(iota);
REAL8 hVectorX = h0 * siniota;
REAL8 hVectorY = h0 * siniota * cosiota;
REAL8 psiVector = LAL_PI_2;
......@@ -301,14 +327,20 @@ void set_nonGR_model_parameters( PulsarParameters *pars, char* nonGRmodel ){
PulsarAddREAL8Param( pars, "PSIVECTOR", psiVector );
}
else if( isEGR == 0 ) {
/** GR plus an unconstrained non-GR modes
/** GR plus unconstrained non-GR modes
* With different priors, this can be used to obtain GR+scalar (i.e.
* scalar-tensor), GR+vector, or GR+scalar+vector. Note: this mode used to
be called just "ST".*/
REAL8 cosiota = PulsarGetREAL8ParamOrZero( pars, "COSIOTA" );
REAL8 psiTensor = -LAL_PI_2;
/* Set 1F components */
REAL8 hPlus_F = 0.25 * h0_F * siniota * cosiota;
REAL8 hCross_F = 0.5 * h0_F * siniota;
PulsarAddREAL8Param( pars, "HPLUS_F", hPlus_F );
PulsarAddREAL8Param( pars, "HCROSS_F", hCross_F );
PulsarAddREAL8Param( pars, "PSITENSOR_F", psiTensor );
/* Set 2F components */
REAL8 hPlus = 0.5 * h0 * (1. + cosiota * cosiota);
REAL8 hCross = h0 * cosiota;
REAL8 psiTensor = -LAL_PI_2;
PulsarAddREAL8Param( pars, "HPLUS", hPlus );
PulsarAddREAL8Param( pars, "HCROSS", hCross );
PulsarAddREAL8Param( pars, "PSITENSOR", psiTensor );
......@@ -332,7 +364,7 @@ void add_pulsar_parameter( LALInferenceVariables *var, PulsarParameters *params,
/**
* \brief Add a \c REAL8 parameter from a \c PulsarParameters variable into a \c LALInfernceVariable
* \brief Add a \c REAL8 parameter from a \c PulsarParameters variable into a \c LALInferenceVariable
*
* This function will rescale a parameter to its true value using the scale factor and minimum scale value.
*
......@@ -819,10 +851,6 @@ void get_amplitude_model( PulsarParameters *pars, LALInferenceIFOModel *ifo ){
cpsi = cos(PulsarGetREAL8ParamOrZero( pars, "PSI" ));
}
if ( nonGR == 1 && freqFactors->length > 1 ){
XLAL_ERROR_VOID( XLAL_EFAILED, "Error... currently can only use non-GR parameters for l=m=2 harmonic." );
}
/* loop over all detectors */
while( ifo ){
/* loop over components in data as given by the frequency factors */
......@@ -837,13 +865,32 @@ void get_amplitude_model( PulsarParameters *pars, LALInferenceIFOModel *ifo ){
/* get the amplitude and phase factors */
if( freqFactors->data[j] == 1. ){
/* the l=2, m=1 harmonic at the rotation frequency */
expPhi = cexp( I * PulsarGetREAL8ParamOrZero( pars, "PHI21" ));
Cplus = -0.25 * PulsarGetREAL8ParamOrZero( pars, "C21" ) * siniota * cosiota * expPhi;
Ccross = 0.25 * I * PulsarGetREAL8ParamOrZero( pars, "C21" ) * siniota * expPhi;
if ( nonGR ){ /* amplitude if nonGR is specified */
COMPLEX16 expPhiTensor, expPsiTensor, expPhiScalar, expPsiScalar, expPhiVector, expPsiVector;
expPhiTensor = cexp( I * PulsarGetREAL8ParamOrZero( pars, "PHI0TENSOR_F" ) );
expPsiTensor = cexp( I * PulsarGetREAL8ParamOrZero( pars, "PSITENSOR_F" ) );
expPhiScalar = cexp( I * PulsarGetREAL8ParamOrZero( pars, "PHI0SCALAR_F" ) );
expPsiScalar = cexp( I * PulsarGetREAL8ParamOrZero( pars, "PSISCALAR_F" ) );
expPhiVector = cexp( I * PulsarGetREAL8ParamOrZero( pars, "PHI0VECTOR_F" ) );
expPsiVector = cexp( I * PulsarGetREAL8ParamOrZero( pars, "PSIVECTOR_F" ) );
Cplus = 0.5 * expPhiTensor * PulsarGetREAL8ParamOrZero( pars, "HPLUS_F" );
Ccross = 0.5 * expPhiTensor * PulsarGetREAL8ParamOrZero( pars, "HCROSS_F" ) * expPsiTensor;
Cx = 0.5 * expPhiVector * PulsarGetREAL8ParamOrZero( pars, "HVECTORX_F" );
Cy = 0.5 * expPhiVector * PulsarGetREAL8ParamOrZero( pars, "HVECTORY_F" ) * expPsiVector;
Cb = 0.5 * expPhiScalar * PulsarGetREAL8ParamOrZero( pars, "HSCALARB_F" );
Cl = 0.5 * expPhiScalar * PulsarGetREAL8ParamOrZero( pars, "HSCALARL_F" ) * expPsiScalar;
}
else{
expPhi = cexp( I * PulsarGetREAL8ParamOrZero( pars, "PHI21" ));
Cplus = -0.25 * PulsarGetREAL8ParamOrZero( pars, "C21" ) * siniota * cosiota * expPhi;
Ccross = 0.25 * I * PulsarGetREAL8ParamOrZero( pars, "C21" ) * siniota * expPhi;
}
}
else if( freqFactors->data[j] == 2. ){
/* the l=2, m=2 harmonic at twice the rotation frequency */
if ( nonGR ){ /* amplitude if nonGR is specifiec */
if ( nonGR ){ /* amplitude if nonGR is specified */
COMPLEX16 expPhiTensor, expPsiTensor, expPhiScalar, expPsiScalar, expPhiVector, expPsiVector;
expPhiTensor = cexp( I * PulsarGetREAL8ParamOrZero( pars, "PHI0TENSOR" ) );
......
......@@ -138,7 +138,7 @@ extern "C" {
*
* Note: These should be increased if additional model parameters are added.
*/
#define NUMAMPPARS 28
#define NUMAMPPARS 29
/**
* The total number of sky position parameters that can define a signal e.g.
......@@ -346,7 +346,7 @@ static const CHAR amppars[NUMAMPPARS][VARNAME_MAX] = { "H0", "PHI0", "PSI",
"COSIOTA", "C22", "C21", "PHI22", "PHI21", "HPLUS", "HCROSS", "HSCALARB",
"HSCALARL", "HVECTORX", "HVECTORY", "PSIVECTOR", "PHI0VECTOR", "PSISCALAR",
"PHI0SCALAR", "PSITENSOR", "PHI0TENSOR", "I21", "I31", "LAMBDA", "COSTHETA",
"IOTA", "THETA", "Q22", "DIST" };
"IOTA", "THETA", "Q22", "DIST", "H0_F" };
/**
* A list of the sky position parameters. The names given here are those that
......
......@@ -452,7 +452,13 @@ class HeterodynedCWSimulator(object):
'HVECTORX',
'HVECTORY',
'HSCALARB',
'HSCALARL']
'HSCALARL',
'HPLUS_F',
'HCROSS_F',
'HVECTORX_F',
'HVECTORY_F',
'HSCALARB_F',
'HSCALARL_F']
for param in nonGRparams:
if param in par.keys():
......
......@@ -630,15 +630,33 @@ COMPLEX16TimeSeries* XLALHeterodynedPulsarGetAmplitudeModel( PulsarParameters *p
/* get the amplitude and phase factors */
if( freqfactor == 1. ){
/* the l=2, m=1 harmonic at the rotation frequency. NOTE: there is currently no
amplitude model defined for a non-GR signal at this harmonic */
expPhi = cexp( I * PulsarGetREAL8ParamOrZero( pars, "PHI21" ));
Cplus = -0.25 * PulsarGetREAL8ParamOrZero( pars, "C21" ) * siniota * cosiota * expPhi;
Ccross = 0.25 * I * PulsarGetREAL8ParamOrZero( pars, "C21" ) * siniota * expPhi;
/* the l=2, m=1 harmonic at the rotation frequency. */
if ( nonGR ){ /* amplitude if nonGR is specified */
COMPLEX16 expPhiTensor, expPsiTensor, expPhiScalar, expPsiScalar, expPhiVector, expPsiVector;
expPhiTensor = cexp( I * PulsarGetREAL8ParamOrZero( pars, "PHI0TENSOR_F" ) );
expPsiTensor = cexp( I * PulsarGetREAL8ParamOrZero( pars, "PSITENSOR_F" ) );
expPhiScalar = cexp( I * PulsarGetREAL8ParamOrZero( pars, "PHI0SCALAR_F" ) );
expPsiScalar = cexp( I * PulsarGetREAL8ParamOrZero( pars, "PSISCALAR_F" ) );
expPhiVector = cexp( I * PulsarGetREAL8ParamOrZero( pars, "PHI0VECTOR_F" ) );
expPsiVector = cexp( I * PulsarGetREAL8ParamOrZero( pars, "PSIVECTOR_F" ) );
Cplus = 0.5 * expPhiTensor * PulsarGetREAL8ParamOrZero( pars, "HPLUS_F" );
Ccross = 0.5 * expPhiTensor * PulsarGetREAL8ParamOrZero( pars, "HCROSS_F" ) * expPsiTensor;
Cx = 0.5 * expPhiVector * PulsarGetREAL8ParamOrZero( pars, "HVECTORX_F" );
Cy = 0.5 * expPhiVector * PulsarGetREAL8ParamOrZero( pars, "HVECTORY_F" ) * expPsiVector;
Cb = 0.5 * expPhiScalar * PulsarGetREAL8ParamOrZero( pars, "HSCALARB_F" );
Cl = 0.5 * expPhiScalar * PulsarGetREAL8ParamOrZero( pars, "HSCALARL_F" ) * expPsiScalar;
}
else{
expPhi = cexp( I * PulsarGetREAL8ParamOrZero( pars, "PHI21" ));
Cplus = -0.25 * PulsarGetREAL8ParamOrZero( pars, "C21" ) * siniota * cosiota * expPhi;
Ccross = 0.25 * I * PulsarGetREAL8ParamOrZero( pars, "C21" ) * siniota * expPhi;
}
}
else if( freqfactor == 2. ){
/* the l=2, m=2 harmonic at twice the rotation frequency */
if ( nonGR ){ /* amplitude if nonGR is specifiec */
if ( nonGR ){ /* amplitude if nonGR is specified */
COMPLEX16 expPhiTensor, expPsiTensor, expPhiScalar, expPsiScalar, expPhiVector, expPsiVector;
expPhiTensor = cexp( I * PulsarGetREAL8ParamOrZero( pars, "PHI0TENSOR" ) );
......
......@@ -838,7 +838,7 @@ typedef struct tagParConversion{
}ParConversion;
#define NUM_PARS 108 /* number of allowed parameters */
#define NUM_PARS 121 /* number of allowed parameters */
/** Initialise conversion structure with most allowed TEMPO2 parameter names and conversion functions
* (convert all read in parameters to SI units where necessary). See http://arxiv.org/abs/astro-ph/0603381 and
......@@ -967,7 +967,7 @@ ParConversion pc[NUM_PARS] = {
{ .name = "I31", .convfunc = ParConvToFloat, .converrfunc = ParConvToFloat, .ptype = PULSARTYPE_REAL8_t },
{ .name = "Q22", .convfunc = ParConvToFloat, .converrfunc = ParConvToFloat, .ptype = PULSARTYPE_REAL8_t }, /* the l=m=2 mass quadrupole in kg m^2 */
/* GW non-GR polarisation mode amplitude parameters */
/* GW non-GR polarisation mode amplitude parameters (assuming emission at twice the rotation frequency) */
{ .name = "HPLUS", .convfunc = ParConvToFloat, .converrfunc = ParConvToFloat, .ptype = PULSARTYPE_REAL8_t }, /* GW tensor plus polarisation amplitude */
{ .name = "HCROSS", .convfunc = ParConvToFloat, .converrfunc = ParConvToFloat, .ptype = PULSARTYPE_REAL8_t }, /* GW tensor cross polarisation amplitude */
{ .name = "PSITENSOR", .convfunc = ParConvToFloat, .converrfunc = ParConvToFloat, .ptype = PULSARTYPE_REAL8_t }, /* GW tensor angle polarisation */
......@@ -979,7 +979,22 @@ ParConversion pc[NUM_PARS] = {
{ .name = "HVECTORX", .convfunc = ParConvToFloat, .converrfunc = ParConvToFloat, .ptype = PULSARTYPE_REAL8_t }, /* GW vector x-mode amplitude */
{ .name = "HVECTORY", .convfunc = ParConvToFloat, .converrfunc = ParConvToFloat, .ptype = PULSARTYPE_REAL8_t }, /* GW vector y-mode amplitude */
{ .name = "PSIVECTOR", .convfunc = ParConvToFloat, .converrfunc = ParConvToFloat, .ptype = PULSARTYPE_REAL8_t }, /* GW vector angle polarisation */
{ .name = "PHI0VECTOR", .convfunc = ParConvToFloat, .converrfunc = ParConvToFloat, .ptype = PULSARTYPE_REAL8_t } /* GW vector polarisation initial phase */
{ .name = "PHI0VECTOR", .convfunc = ParConvToFloat, .converrfunc = ParConvToFloat, .ptype = PULSARTYPE_REAL8_t }, /* GW vector polarisation initial phase */
/* GW non-GR polarisation mode amplitude parameters (assuming emission at the rotation frequency) */
{ .name = "H0_F", .convfunc = ParConvToFloat, .converrfunc = ParConvToFloat, .ptype = PULSARTYPE_REAL8_t }, /* GR 21 polarisation amplitude */
{ .name = "HPLUS_F", .convfunc = ParConvToFloat, .converrfunc = ParConvToFloat, .ptype = PULSARTYPE_REAL8_t }, /* GW tensor plus polarisation amplitude */
{ .name = "HCROSS_F", .convfunc = ParConvToFloat, .converrfunc = ParConvToFloat, .ptype = PULSARTYPE_REAL8_t }, /* GW tensor cross polarisation amplitude */
{ .name = "PSITENSOR_F", .convfunc = ParConvToFloat, .converrfunc = ParConvToFloat, .ptype = PULSARTYPE_REAL8_t }, /* GW tensor angle polarisation */
{ .name = "PHI0TENSOR_F", .convfunc = ParConvToFloat, .converrfunc = ParConvToFloat, .ptype = PULSARTYPE_REAL8_t }, /* initial phase for tensor modes */
{ .name = "HSCALARB_F", .convfunc = ParConvToFloat, .converrfunc = ParConvToFloat, .ptype = PULSARTYPE_REAL8_t }, /* GW scalar breathing mode polarisation amplitude */
{ .name = "HSCALARL_F", .convfunc = ParConvToFloat, .converrfunc = ParConvToFloat, .ptype = PULSARTYPE_REAL8_t }, /* GW scalar longitudinal polarisation amplitude */
{ .name = "PSISCALAR_F", .convfunc = ParConvToFloat, .converrfunc = ParConvToFloat, .ptype = PULSARTYPE_REAL8_t }, /* GW scalar angle polarisation */
{ .name = "PHI0SCALAR_F", .convfunc = ParConvToFloat, .converrfunc = ParConvToFloat, .ptype = PULSARTYPE_REAL8_t }, /* initial phase for scalar modes */
{ .name = "HVECTORX_F", .convfunc = ParConvToFloat, .converrfunc = ParConvToFloat, .ptype = PULSARTYPE_REAL8_t }, /* GW vector x-mode amplitude */
{ .name = "HVECTORY_F", .convfunc = ParConvToFloat, .converrfunc = ParConvToFloat, .ptype = PULSARTYPE_REAL8_t }, /* GW vector y-mode amplitude */
{ .name = "PSIVECTOR_F", .convfunc = ParConvToFloat, .converrfunc = ParConvToFloat, .ptype = PULSARTYPE_REAL8_t }, /* GW vector angle polarisation */
{ .name = "PHI0VECTOR_F", .convfunc = ParConvToFloat, .converrfunc = ParConvToFloat, .ptype = PULSARTYPE_REAL8_t } /* GW vector polarisation initial phase */
};
......
......@@ -24,7 +24,7 @@ typedef struct tagParamData{
const CHAR *fitFlag; /* add a TEMPO-style fitting flag to some parameters */
}ParamData;
#define NUMPARS 58
#define NUMPARS 86
/* setup a collection of allowed .par file parameters */
ParamData p[NUMPARS] =
......@@ -94,6 +94,36 @@ ParamData p[NUMPARS] =
{ "PSI", "-0.12300", "-0.12300", "0.01230", "0.01230" , " " },
{ "APLUS", "1.23000e-22", "1.23000e-22", "1.23000D-23", "1.23000e-23", " " }, /* input exponent as D */
{ "ACROSS", "1.23000e-22", "1.23000e-22", "1.23000D-23", "1.23000e-23", " " }, /* input exponent as D */
/* waveform parameters */
{ "C21", "7.83000e-22", "7.83000e-22", "4.65000E-23", "4.65000e-23", " " },
{ "C22", "3.65000E-23", "3.65000e-23", "6.54000e-25", "6.54000e-25", " " },
{ "PHI21", "0.3", "0.30000", "0.12", "0.12000", " " },
{ "PHI22", "2.37281", "2.37281", "0.0011", "0.00110", " " },
/* non-GR parameters */
{ "HPLUS", "5.40000e-24", "5.40000e-24", "1.26000e-26", "1.26000e-26", " " },
{ "HPLUS_F", "6.20000e-24", "6.20000e-24", "5.28000e-26", "5.28000e-26", " " },
{ "HCROSS", "7.40000e-24", "7.40000e-24", "1.26000e-26", "1.26000e-26", " " },
{ "HCROSS_F", "8.20000e-24", "8.20000e-24", "5.28000e-26", "5.28000e-26", " " },
{ "HVECTORX", "9.40000e-24", "9.40000e-24", "1.26000e-26", "1.26000e-26", " " },
{ "HVECTORX_F", "1.20000e-24", "1.20000e-24", "5.28000e-26", "5.28000e-26", " " },
{ "HVECTORY", "2.40000e-24", "2.40000e-24", "1.26000e-26", "1.26000e-26", " " },
{ "HVECTORY_F", "3.20000E-24", "3.20000e-24", "5.28000e-26", "5.28000e-26", " " },
{ "HSCALARL", "4.40000D-24", "4.40000e-24", "1.26000e-26", "1.26000e-26", " " },
{ "HSCALARL_F", "5.20000e-24", "5.20000e-24", "5.28000e-26", "5.28000e-26", " " },
{ "HSCALARB", "6.40000E-24", "6.40000e-24", "1.26000e-26", "1.26000e-26", " " },
{ "HSCALARB_F", "7.20000E-24", "7.20000e-24", "5.28000e-26", "5.28000e-26", " " },
{ "PSITENSOR", "1.46252", "1.46252", "0.91", "0.91000", " " },
{ "PSITENSOR_F", "0.3", "0.30000", "0.02", "0.02000", " " },
{ "PHI0TENSOR", "2.65", "2.65000", "0.03", "0.03000", " " },
{ "PHI0TENSOR_F", "2.1201", "2.12010", "0.04", "0.04000", " " },
{ "PSIVECTOR", "0.00230", "0.00230", "0.05", "0.05000", " " },
{ "PSIVECTOR_F", "0.786", "0.78600", "0.06", "0.06000", " " },
{ "PHI0VECTOR", "0.10230", "0.10230", "0.07", "0.07000", " " },
{ "PHI0VECTOR_F", "0.116", "0.11600", "0.08", "0.08000", " " },
{ "PSISCALAR", "1.00430", "1.00430", "0.09", "0.09000", " " },
{ "PSISCALAR_F", "0.286", "0.28600", "0.10", "0.10000", " " },
{ "PHI0SCALAR", "2.10230", "2.10230", "0.11", "0.11000", " " },
{ "PHI0SCALAR_F", "0.476", "0.47600", "0.12", "0.12000", " " },
};
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment