Newer
Older
Ian Bell
committed
#include "teqp/models/multifluid.hpp"
#include <valarray>
#include <iostream>
#include <sstream>
/// Load a JSON file from a specified file
inline std::string get_file_contents(const std::string& path) {
if (!std::filesystem::exists(path)) {
throw std::invalid_argument("Path to be loaded does not exist: " + path);
}
auto stream = std::ifstream(path);
if (!stream) {
throw std::invalid_argument("File stream cannot be opened from: " + path);
}
std::stringstream buffer;
buffer << stream.rdbuf();
return buffer.str();
};
const std::map<std::string, std::string> hardcoded_models{
{"internal://n-Propane.json", get_file_contents("../mycp/dev/fluids/n-Propane.json")},
{"internal://n-Butane.json", get_file_contents("../mycp/dev/fluids/n-Butane.json")},
};
const std::string hardcoded_BIP = get_file_contents("../mycp/dev/mixtures/mixture_binary_pairs.json");
const std::string hardcoded_dep = get_file_contents("../mycp/dev/mixtures/mixture_departure_functions.json");
int main(){
auto model = teqp::build_multifluid_JSONstr(
{ hardcoded_models.at("internal://n-Propane.json"), hardcoded_models.at("internal://n-Butane.json") },
hardcoded_BIP, hardcoded_dep
);
return EXIT_SUCCESS;
}