Cholla 3.0.1-dev
Cholla - Massively parallel hydro on GPUs
Loading...
Searching...
No Matches
tabulated_dynamicalDE_EoS.h
Go to the documentation of this file.
1
5#pragma once
6
7#include <fstream>
8#include <iostream>
9#include <string>
10#include <vector>
11
12#include "../global/global.h"
13#include "../utils/error_handling.h"
14
16{
17 private:
18 std::vector<float> dynamicalDE_table_z;
19 std::vector<float> dynamicalDE_table_w;
20
21 // dynamical dark energy energy density normalized to the present-date rho_DE(z) / rho_DE(z=0)
22 std::vector<float> dynamicalDE_table_density;
23
25 void Setup_DynamicalDE_EquationOfState_(std::istream& in, const std::string& fname, bool silent);
26
28 void Set_DynamicalDE_Density();
29
30 void Setup_Full(std::istream& in, const std::string& fname) {}
31
32 public:
35
42 explicit TabulatedDynamicalDarkEnergyEoS(const std::string& path, std::istream* f = nullptr, bool silent = false)
43 {
44 std::fstream tmp;
45 if (f == nullptr) {
46 tmp.open(path, std::ios_base::in);
47 CHOLLA_ASSERT(tmp.is_open(), "Unable to open DE equation of state file: %s\n", path.c_str());
48 f = dynamic_cast<std::istream*>(&tmp);
49 }
50 Setup_DynamicalDE_EquationOfState_(*f, path, silent);
51 Set_DynamicalDE_Density();
52 }
53};
Definition tabulated_dynamicalDE_EoS.h:16
Real Get_DynamicalDE_Density_from_a(Real a)
Definition tabulated_dynamicalDE_EoS.cpp:13
TabulatedDynamicalDarkEnergyEoS(const std::string &path, std::istream *f=nullptr, bool silent=false)
Definition tabulated_dynamicalDE_EoS.h:42