File indexing completed on 2025-08-03 08:19:43
0001
0002 #ifndef SRC_FLUIDCELLSTATISTIC_H_
0003 #define SRC_FLUIDCELLSTATISTIC_H_
0004
0005 #include <iostream>
0006 #include <sstream>
0007 #include <fstream>
0008 #include <cmath>
0009 #include <iomanip>
0010 #include <string>
0011 #include <fstream>
0012
0013 #ifdef USE_HDF5
0014 #include "./Hydroinfo_h5.h"
0015 #endif
0016
0017 #include "./Hydroinfo_MUSIC.h"
0018 #include "./ParameterReader.h"
0019
0020
0021 using std::string;
0022 using std::vector;
0023 using std::ofstream;
0024 using std::ifstream;
0025 using std::abs;
0026
0027 class FluidcellStatistic {
0028 private:
0029 int hydro_type;
0030 #ifdef USE_HDF5
0031 HydroinfoH5 *hydroinfo_ptr;
0032 #endif
0033 Hydroinfo_MUSIC *hydroinfo_MUSIC_ptr;
0034 ParameterReader *paraRdr;
0035 double T_dec;
0036 double hbarC;
0037 double grid_dt, grid_dx, grid_dy;
0038 double grid_tau0, grid_tauf;
0039 double grid_x0, grid_y0;
0040
0041 public:
0042 FluidcellStatistic(void* hydroinfo_ptr_in, ParameterReader* paraRdr_in);
0043 ~FluidcellStatistic();
0044 void checkFreezeoutSurface(double Tdec);
0045 double compute_local_expansion_rate(double tau_local, double x_local,
0046 double y_local);
0047 void output_momentum_anisotropy_vs_tau();
0048 void output_temperature_vs_tau();
0049 void output_flowvelocity_vs_tau();
0050 void output_temperature_vs_avg_utau();
0051 void outputTempasTauvsX();
0052 void outputKnudersonNumberasTauvsX();
0053 void outputinverseReynoldsNumberasTauvsX();
0054 void outputBulkinverseReynoldsNumberasTauvsX();
0055 void analysis_hydro_volume_for_photon(double T_cut);
0056 double calculate_spacetime_4volume(double T_cut);
0057 double calculate_average_tau(double T_cut);
0058 double calculate_average_temperature4(double T_cut);
0059 double calculate_average_integrated_photonRate_parameterization(
0060 double T_cut);
0061 double calculate_hypersurface_3volume(double T_cut);
0062 };
0063
0064 #endif