SERiF 0.0.1a
3+1D Stellar Structure and Evolution
Loading...
Searching...
No Matches
helm.h File Reference
#include <array>
#include <iostream>
#include <iomanip>
#include <sstream>
#include <string>
#include <format>
#include "debug.h"

Go to the source code of this file.

Classes

struct  serif::eos::helmholtz::HELMTable
 Structure to hold the Helmholtz EOS table data. More...
 
struct  serif::eos::helmholtz::HELMEOSInput
 Structure to hold the input parameters for the EOS calculation. More...
 
struct  serif::eos::helmholtz::HELMEOSOutput
 

Namespaces

namespace  serif
 
namespace  serif::eos
 
namespace  serif::eos::helmholtz
 

Typedefs

template<typename T, std::size_t J, std::size_t I>
using serif::eos::helmholtz::array2D = std::array<std::array<T, J>, I>
 2D array template alias.
 

Functions

double ** serif::eos::helmholtz::heap_allocate_contiguous_2D_memory (const int rows, const int cols)
 
void serif::eos::helmholtz::heap_deallocate_contiguous_2D_memory (double **array)
 
double serif::eos::helmholtz::psi0 (double z)
 Interpolating polynomial function psi0.
 
double serif::eos::helmholtz::dpsi0 (double z)
 Derivative of the interpolating polynomial function psi0.
 
double serif::eos::helmholtz::ddpsi0 (double z)
 Second derivative of the interpolating polynomial function psi0.
 
double serif::eos::helmholtz::psi1 (double z)
 Interpolating polynomial function psi1.
 
double serif::eos::helmholtz::dpsi1 (double z)
 Derivative of the interpolating polynomial function psi1.
 
double serif::eos::helmholtz::ddpsi1 (double z)
 Second derivative of the interpolating polynomial function psi1.
 
double serif::eos::helmholtz::psi2 (double z)
 Interpolating polynomial function psi2.
 
double serif::eos::helmholtz::dpsi2 (double z)
 Derivative of the interpolating polynomial function psi2.
 
double serif::eos::helmholtz::ddpsi2 (double z)
 Second derivative of the interpolating polynomial function psi2.
 
double serif::eos::helmholtz::xpsi0 (double z)
 Interpolating polynomial function xpsi0.
 
double serif::eos::helmholtz::xdpsi0 (double z)
 Derivative of the interpolating polynomial function xpsi0.
 
double serif::eos::helmholtz::xpsi1 (double z)
 Interpolating polynomial function xpsi1.
 
double serif::eos::helmholtz::xdpsi1 (double z)
 Derivative of the interpolating polynomial function xpsi1.
 
double serif::eos::helmholtz::h3 (const std::array< double, 36 > &fi, const double w0t, const double w1t, const double w0mt, const double w1mt, const double w0d, const double w1d, const double w0md, const double w1md)
 Interpolating polynomial function h3.
 
double serif::eos::helmholtz::h5 (const std::array< double, 36 > &fi, const double w0t, const double w1t, const double w2t, const double w0mt, const double w1mt, const double w2mt, const double w0d, const double w1d, const double w2d, const double w0md, const double w1md, const double w2md)
 Interpolating polynomial function h5.
 
std::unique_ptr< HELMTableserif::eos::helmholtz::read_helm_table (const std::string &filename)
 Read the Helmholtz EOS table from a file.
 
serif::eos::helmholtz::HELMEOSOutput serif::eos::helmholtz::get_helm_EOS (HELMEOSInput &q, const HELMTable &table)
 Calculate the Helmholtz EOS components.
 

Variables

static constexpr int serif::eos::helmholtz::IMAX = 541
 
static constexpr int serif::eos::helmholtz::JMAX = 201
 
const double serif::eos::helmholtz::tlo = 3.0
 
const double serif::eos::helmholtz::thi = 13.0
 
const double serif::eos::helmholtz::dlo = -12.0
 
const double serif::eos::helmholtz::dhi = 15.0
 
const double serif::eos::helmholtz::tstp = (thi - tlo) / (JMAX - 1)
 
const double serif::eos::helmholtz::tstpi = 1 / tstp
 
const double serif::eos::helmholtz::dstp = (dhi - dlo) / (IMAX - 1)
 
const double serif::eos::helmholtz::dstpi = 1 / dstp