hexed 0.3.0
 
Loading...
Searching...
No Matches
hexed Namespace Reference

Global namespace for all of the C++ API of Hexed. More...

Namespaces

namespace  assert
 utilities for custom assertions
 
namespace  config
 Namespace for options configured at build time. See hexed_config.hpp.in.
 
namespace  constants
 Mathematical and physical constants.
 
namespace  criteria
 A namespace for functions to be used as refinement criteria.
 
namespace  hil_properties
 functions that assign properties of objects to HIL variables
 
namespace  iterative
 iterative solvers for linear equations, in particular Krylov subspace methods
 
namespace  math
 Miscellaneous mathematical functions that aren't in std::math
 
namespace  mutual
 a namespace for mutually-connected objects
 
namespace  pde
 This namespace contains classes representing the different PDEs Hexed can solve.
 

Classes

class  Accessible_mesh
 A mesh that supports access to the actual elements with the numerical data they contain. More...
 
class  Advection_state
 Fetches the advection states used for computing the smoothness-based artfificial viscosity. More...
 
class  Annular_diffusion_test
 Steady-state solution to Laplacian diffusion in an anular domain (for verification testing). More...
 
class  Array
 Represents a dynamic-sized multidimensional array. More...
 
class  Art_visc_coef
 fetches the artificial viscosity coefficient More...
 
class  Art_visc_forcing
 Fetches one of the forcing variables in artificial viscosity computation. More...
 
class  Basis
 Represents a basis of Lagrange polynomials. More...
 
class  Boundary
 
class  Boundary_condition
 
class  Boundary_connection
 A Boundary_face that also provides details about the connection for the neighbor flux computation and requests for a particular Boundary_condition to be applied to it. More...
 
class  Boundary_expr
 Evaluates a structured expression. More...
 
class  Boundary_face
 
class  Boundary_func
 A funtion that can be evaluated at any quadrature point which is on a boundary. More...
 
class  Cache_bc
 
class  Case
 
class  Command_input
 Handles command line input with history. More...
 
class  Complete_element_container
 
class  Component
 returns a component of another Qpoint_func More...
 
class  Compound_geom
 Combines multiple Surface_geoms into one. More...
 
class  Compound_printer
 Printer which is just a combination of other printers. More...
 
class  Con_dir
 
class  Con_dir< Deformed_element >
 
class  Con_dir< Element >
 
class  Concat_func
 concatenates the output of a vector of function-type objects (derived from Output_data) More...
 
class  Concatenation
 A Sequence formed by concatenating two Sequences. More...
 
class  Connection
 
class  Connection_direction
 
class  Connection_new
 
class  Constant_func
 Always returns the same constant (vector) value. More...
 
class  Copy
 
class  Csv
 Writes output in Comma-Separated Value format. More...
 
class  Deformed_element
 Represents an Element which is not a perfect axis-aligned square/cube. More...
 
class  Dense_equation
 equation in \( \mathbb{R}^n \) with a dense matrix More...
 
class  Derivative
 
class  Diff_sq
 computes the elementwise squared difference between the output of 2 Domain_funcs More...
 
class  Domain_func
 
class  Doublet
 
class  Elem_average
 computes the average of the provided Qpoint_func within the element by Gaussian quadrature More...
 
class  Elem_l2
 computes the \(L_2\) norm of the provided Qpoint_func within the element by Gaussian quadrature More...
 
class  Elem_nonsmooth
 compute the elementwise nonsmoothness indicator of the provided function More...
 
class  Element
 Stores data associated with one mesh element. More...
 
class  Element_connection
 
class  Element_container
 
class  Element_face_connection
 
class  Element_func
 a function that has a single value for each element More...
 
class  Element_info
 an Element_func that doesn't depend on a Basis or the time More...
 
class  Element_new
 
class  Empty_func
 Returns an empty vector. You can pass this to Solver::visualize_field_tecplot if you just want to visualize the position. More...
 
class  Equiangle_skewness
 Computes the equiangle skewness mesh quality metric. More...
 
class  Equidistant
 Basis with equidistant quadrature points. More...
 
class  Error_func
 
class  Face
 
class  Face_connection
 
class  Face_connection< Deformed_element >
 
class  Face_permutation_dynamic
 
class  Fix_admis_coef
 fetches the Element::fix_admis_coef More...
 
class  Flow_bc
 Abstract class representing an arbitrary flow boundary condition (as opposed to a mesh BC). More...
 
class  Freestream
 Sets the ghost state to the provided freestream state. More...
 
class  Function_bc
 Like Freestream, but sets state to the value of an arbitrary Surface_func instead of a constant. More...
 
class  Gauss_legendre
 Basis based on Gauss-Legendre quadrature. More...
 
class  Gauss_lobatto
 Basis based on Gauss-Lobatto quadrature. More...
 
class  Geom_mbc
 snaps to a Surface_geom More...
 
class  Hanging
 
class  Hanging_vertex_matcher
 
class  Has_tree
 Returns 1 if the element has a Tree pointer, else 0. More...
 
class  Heat_flux
 Computes heat flux into surface. More...
 
class  Hil_exception
 
class  History_monitor
 monitors the history of some variable over iterations and computes the bounds over a specified window More...
 
class  Hypersphere
 Represents hypersphere in any dimensionality. More...
 
class  Index
 Provides a view of some elements of a Sequence identified by a sequence of indices. More...
 
class  Interpreter
 
class  Is_deformed
 Returns 1 if the element is deformed, otherwise 0. More...
 
class  Iteration_status
 Contains high-level diagnostic information about the status of a time-marching scheme. More...
 
class  Iterator
 A random-access iterator type based on an arbitrary access function. More...
 
class  Jac_inv_det_func
 Determinant of inverse of Jacobian. More...
 
class  Jacobian_det_func
 Returns a vector with one element: the Jacobian determinant at the quadrature point. More...
 
class  Kernel
 
class  Kernel_connection
 Represents a connection between elements as the kernel sees it. More...
 
class  Kernel_element
 Represents an element as the kernels see it. More...
 
struct  Kernel_mesh
 
struct  Kernel_options
 
class  Layer_sequence
 Selects a growth profile for anisotropic wall layers. More...
 
class  Linear
 Computes a single output variable which is a linear combination of components of position. More...
 
class  Linear_equation
 represents a linear equation in an arbitrary vector space with a black-box operator More...
 
class  Lock
 wrapper for OpenMP lock routines. More...
 
class  Mach
 Computes Mach number. More...
 
class  Mass
 Aka density. More...
 
class  Mesh
 
class  Mesh_bc
 Abstract class representing a mesh boundary condition. More...
 
class  Mesh_by_type
 
class  Mortal
 represents an object that could die at any moment More...
 
class  Mortal_ptr
 a pointer to a Mortal object that will be updated if the object is destroyed or moved. More...
 
class  Multiple_ptr
 Like a Mutual_ptr, except it can accept multiple partners. More...
 
class  Mutual_ptr
 For creating pairs of mutually connected pointers in a robust way. More...
 
class  Namespace
 
class  Nearest_point
 Helper class for finding the nearest point to a given reference point. More...
 
class  No_slip
 No-slip wall boundary condition. More...
 
class  Nominal_pos
 
class  Nonpenetration
 Copies the inside state and flips the sign of the surface-normal velocity. More...
 
class  Normalized_nonsmooth
 same as Elem_nonsmooth, but normalized by Elem_l2 More...
 
class  Null_mbc
 provides snapping functions that do nothing More...
 
class  Occt
 Wrapper interface for CAD geometry defined by Open CASCADE Technology (OCCT). More...
 
class  Outflow
 for supersonic outlets More...
 
class  Output_data
 Represents some numerical data which is of interest to the end user. More...
 
class  Outward_normal
 Returns the surface normal vector. More...
 
class  Path
 Finds a file in the working directory or system paths. More...
 
class  Physical_basis
 
class  Physical_residual
 returns the residual of the Navier-Stokes equations, not weighted by local time step More...
 
class  Pointer
 Abstract base class for implementing pointer objects. More...
 
class  Position_func
 Returns the position vector. More...
 
class  Pow
 Raises the output of a Qpoint_func to a user-specified power. More...
 
class  Prescribed_energy
 prescribes the specific energy but doesn't touch the heat flux More...
 
class  Prescribed_heat_flux
 prescribes the heat flux but doesn't touch the energy More...
 
class  Pressure
 Computes (static) pressure. More...
 
class  Pressure_outflow
 sets pressure on outflow boundaries More...
 
class  Pressure_stress
 Computes inviscid surface force per unit area (i.e. pressure times unit normal). More...
 
class  Printer
 abstract base class for handling different variations of printing things for user More...
 
struct  Printer_set
 A complete set of printers that support messages with various purposes. More...
 
class  Ptr_base
 Abstract base class for implementing mutually-connected pointers. More...
 
class  Qpoint_expr
 Evaluates a structured expression. More...
 
class  Qpoint_func
 Represents a function which can be evaluated at quadrature points. More...
 
class  Random_func
 Returns a random output uniformly distributed in a user-specified range. More...
 
class  Reciprocal_list
 Like Reciprocal_ptr, put it can be connected with multiple partners. More...
 
class  Reciprocal_ptr
 Implements pairs of reciprocally-connected pointers. More...
 
class  Record
 Returns Element::record More...
 
class  Refined_connection
 
class  Refined_face
 
class  Riemann_invariants
 A freestream boundary condition that sets only the ingoing characteristics. More...
 
class  Ringleb
 Steady-state solution for Ringleb flow. More...
 
class  Ringleb_errsq
 Squared error metric for computing \(L^2\) error of Ringleb flow. More...
 
class  Row_index
 Facilitates the process of iterating through all rows along a particular dimension. More...
 
class  Row_rw
 "row read/write" More...
 
class  Scaled
 Scales a function of a single variable. More...
 
class  Sequence
 An interface for general sequence-type containers. More...
 
class  Simplex_geom
 Represents discrete geometry composed of simplices. More...
 
class  Simplex_geom_nd
 Abstract base class for Simplex_geom exposing the dimensionality-independent functionality. More...
 
class  Slice
 
class  Sod
 Initial consition for classic Sod problem. More...
 
class  Solver
 The main class that basically runs everything. More...
 
class  Spacetime_expr
 Evaluates a structured expression. More...
 
class  Spacetime_func
 Represents a function of position and time. More...
 
class  Spatial
 
class  Spatial_gaussian
 multivariate Gaussian distribution in terms of spatial coordinates normalized to evaluate to 1 at the zero vector More...
 
class  Stab_art_visc
 
class  Stab_indicator
 useful for detecting elements that require stabilization More...
 
class  Stag_pres
 Computes stagnation pressure. More...
 
class  State_from_spacetime
 A class of Spacetime_funcs whose output is a state vector. More...
 
class  State_variables
 A function that simply gives you back the state variables. Useful for visualization and conservation checking. More...
 
class  Stopwatch
 A class for conveniently measuring execution time. More...
 
class  Stopwatch_tree
 A tree structure of Stopwatch objects. More...
 
class  Storage_params
 the parameters of the numerical scheme that are necessary to determine storage requirements More...
 
class  Stream_printer
 prints to a std::ostream. More...
 
class  Struct_expr
 evaluates a structured expression in HIL More...
 
class  Surface_func
 A class of functions that can be evaluated at a point on a surface, without reference to a Boundary_connection object. More...
 
class  Surface_geom
 Represents a surface geometry implicitly for meshing. More...
 
class  Task_message
 prints messages like "message... done" More...
 
class  Tecplot_file
 Wrapper for Tecplot API. More...
 
class  Thermal_bc
 specifies the thermal component of a No_slip wall boundary condition More...
 
class  Thermal_equilibrium
 stipulates that the wall is in thermal equilibrium based on a 1D heat equation More...
 
class  Time_step_scale_func
 Fetches the value of the Element::time_step_scale member. More...
 
class  Transport_model
 
class  Tree
 Bin/quad/octree data structure. More...
 
class  Typed_bound_connection
 
class  Uncertainty
 function to fetch the value of the uncertainty member of the Element. More...
 
class  Vector_view
 Provides a view of an existing container (e.g., std::vector) as a Sequence. More...
 
class  Velocity
 Computes velocity vector. More...
 
class  Vertex
 Represents a vertex in a deformed grid. More...
 
class  View_by_type
 
class  Vis_data
 
class  Viscous_stress
 Computes viscous stress at surface. More...
 
class  Visualizer
 General interface for writing visualization data in different file formats. More...
 
class  Xdmf_wrapper
 lightweight wrapper for XDMF API for block-structured data More...
 

Typedefs

typedef Concat_func< Boundary_func, Boundary_connection &, int, double > Bf_concat
 concatenates Boundary_funcs
 
typedef Concat_func< Element_func, Element &, const Basis &, double > Ef_concat
 Concatenates Element_funcs.
 
typedef Concat_func< Element_func, Element & > Ei_concat
 Concatenates Element_infos.
 
template<int rows = dyn, int cols = 1>
using Mat = Eigen::Matrix<double, rows, cols>
 convenience alias for Eigen::Matrix<double, rows = dyn, cols = 1>
 
template<int rows = dyn, int cols = dyn>
using Mat_rm = Eigen::Matrix<double, rows, cols, Eigen::RowMajor>
 convenience alias for Eigen::Matrix<double, rows = dyn, cols = dyn, Eigen::RowMajor>
 
typedef Concat_func< Qpoint_func, Element &, const Basis &, int, double > Qf_concat
 Concatenates Qpoint_funcs.
 

Functions

template<typename T >
Array< T > operator- (const Array< T > &op0, const Array< T > &op1)
 
template<typename T >
Array< T > operator- (const Array< T > &op0, const T &op1)
 
template<typename T >
Array< T > operator- (const T &op0, const Array< T > &op1)
 
template<typename T >
Array< T > operator+ (const Array< T > &op0, const Array< T > &op1)
 
template<typename T >
Array< T > operator+ (const Array< T > &op0, const T &op1)
 
template<typename T >
Array< T > operator+ (const T &op0, const Array< T > &op1)
 
template<typename T >
Array< T > operator/ (const Array< T > &op0, const Array< T > &op1)
 
template<typename T >
Array< T > operator/ (const Array< T > &op0, const T &op1)
 
template<typename T >
Array< T > operator/ (const T &op0, const Array< T > &op1)
 
template<typename T >
Array< T > operator* (const Array< T > &op0, const Array< T > &op1)
 
template<typename T >
Array< T > operator* (const Array< T > &op0, const T &op1)
 
template<typename T >
Array< T > operator* (const T &op0, const Array< T > &op1)
 
template<typename T >
Array< T > operator% (const Array< T > &op0, const Array< T > &op1)
 
template<typename T >
Array< T > operator% (const Array< T > &op0, const T &op1)
 
template<typename T >
Array< T > operator% (const T &op0, const Array< T > &op1)
 
template<typename T >
Array< T > operator&& (const Array< T > &op0, const Array< T > &op1)
 
template<typename T >
Array< T > operator&& (const Array< T > &op0, const T &op1)
 
template<typename T >
Array< T > operator&& (const T &op0, const Array< T > &op1)
 
template<typename T >
Array< T > operator|| (const Array< T > &op0, const Array< T > &op1)
 
template<typename T >
Array< T > operator|| (const Array< T > &op0, const T &op1)
 
template<typename T >
Array< T > operator|| (const T &op0, const Array< T > &op1)
 
template<typename T >
Array< T > operator- (const Array< T > &op0)
 
template<typename T >
Array< T > operator+ (const Array< T > &op0)
 
template<typename... format_args>
std::string format_str (int max_chars, std::string fstring, format_args... args)
 Standard string formatting.
 
template<typename T , typename C >
void erase_if (std::vector< T > &vec, C condition)
 Erase every element x in a vector where condition(x) evaluates to true.
 
void filter_limit (int n_dim, double *data, const Basis &basis, double decay_rate)
 Applies a low-pass filter to polynomial data.
 
template<template< int, int > typename kernel, typename... constructor_args>
kernel_lookup::ptr_t< kernel > kernel_factory (int n_dim, int row_size, constructor_args &&... args)
 
void compute_euler (Kernel_mesh, Kernel_options)
 
void compute_advection (Kernel_mesh, Kernel_options, double advect_length)
 
void compute_navier_stokes (Kernel_mesh, Kernel_options, std::function< void()> flux_bc, Transport_model visc, Transport_model therm_cond)
 
void compute_smooth_av (Kernel_mesh, Kernel_options, std::function< void()> flux_bc, double diff_time, double chebyshev_step)
 
void compute_fix_therm_admis (Kernel_mesh, Kernel_options, std::function< void()> flux_bc)
 
double max_dt_euler (Kernel_mesh, Kernel_options, double convective_safety, double diffusive_safety, bool local_time)
 
double max_dt_navier_stokes (Kernel_mesh, Kernel_options, double convective_safety, double diffusive_safety, bool local_time, Transport_model visc, Transport_model therm_cond)
 
double max_dt_advection (Kernel_mesh, Kernel_options, double convective_safety, double diffusive_safety, bool local_time, double advect_length)
 
double max_dt_smooth_av (Kernel_mesh, Kernel_options, double convective_safety, double diffusive_safety, bool local_time)
 
double max_dt_fix_therm_admis (Kernel_mesh, Kernel_options, double convective_safety, double diffusive_safety, bool local_time)
 
void compute_prolong (Kernel_mesh, bool scale=false, bool offset=false)
 
void compute_restrict (Kernel_mesh, bool scale=true, bool offset=false)
 
void compute_prolong_advection (Kernel_mesh)
 
std::unique_ptr< Face_permutation_dynamicface_permutation (int n_dim, int row_size, Connection_direction, double *data)
 
void compute_write_face (Kernel_mesh)
 
void compute_write_face_advection (Kernel_mesh)
 
void compute_write_face_smooth_av (Kernel_mesh)
 
template<>
std::string Namespace::type_name< std::string > ()
 
Eigen::Matrix< double, dyn, dyn, Eigen::RowMajor > read_csv (std::string file_name)
 Reads a CSV file to a matrix.
 
template<typename S , typename T >
trivial_convert (T &t)
 
template<typename ref_t , typename ptr_t >
ref_t ptr_convert (ptr_t &ptr)
 
void stabilizing_art_visc (Kernel_mesh, double char_speed)
 helper function for Solver::set_art_visc_admis
 
std::array< double, 2 > standard_atmosphere (double alt_geom, double temp_offset=0)
 computes the ICAO Standard atmosphere
 
std::array< double, 2 > standard_atmosphere_geopot (double alt_geopot, double temp_offset=0)
 same as standard_atmosphere(), but accepts geopotential altitude instead of geometric
 
template<typename T >
gotcha (T)
 don't ask
 
template<typename T >
T & printed (T &t)
 prints its argument and then returns it
 
template<typename T >
T * new_copy (const T &t)
 useful for cppyy which doesn't like to relinquish ownership
 
template<typename T >
T * new_move (T &&t)
 useful for cppyy which doesn't like to relinquish ownership
 
template<typename T >
std::add_pointer< T >::type addr_if_possible (T &arg)
 
template<typename T >
std::add_pointer< T >::type addr_if_possible (T &&arg)
 
std::vector< int > face_vertex_inds (int n_dim, const Connection_direction &)
 The indices required to permute the vertices of face 1 of a connection to match face 0.
 
std::array< std::vector< int >, 2 > vertex_inds (int n_dim, const Connection_direction &)
 The indices of the element vertices which participate in a deformed connection.
 
Storage_params incr_res_cache (Storage_params params)
 
void request_connection (Element &elem, int n_dim, int i_dim, bool i_sign, int j_dim, bool j_sign)
 
bool exists (Tree *tree)
 
bool has_existent_children (Tree *t)
 
bool is_def (Element &elem)
 
template<typename T >
void h5_write_row (H5::DataSet &dset, int cols, int i_row, T *data)
 
template<typename T >
void h5_write_value (H5::DataSet &dset, int i_row, T data)
 
template<typename T >
void h5_add_attr (H5::H5Object &obj, std::string name, T value, H5::DataType dtype=H5::PredType::NATIVE_INT)
 
template<typename T = int>
h5_get_attr (H5::H5Object &obj, std::string name, H5::DataType dtype=H5::PredType::NATIVE_INT)
 
Storage_params read_params (std::string file_name)
 
double read_root_sz (std::string file_name)
 
template<typename T >
void h5_read_row (H5::DataSet &dset, int cols, int i_row, T *data)
 
template<typename T >
h5_read_value (H5::DataSet &dset, int i_row)
 
void write_polymesh_file (std::string dir_name, std::string name, std::string cls, int n_entries, std::function< std::string(int)> entries, std::string note="")
 
void copy_state (Boundary_face &bf)
 
template<int n_dim>
Mat apply_char (Mat<> state, Mat<> normal, int sign, Mat<> inside, Mat<> outside)
 
void reflect_normal (double *gh_f, double *nrml, int nq, int nd)
 
void reflect_momentum (Boundary_face &bf)
 
std::string strip_trailing_digits (std::string s)
 
void force_symlink (const std::filesystem::path &target, const std::filesystem::path &link)
 
void read_char (char *c, int n)
 
std::vector< int > get_shape (Storage_params params)
 
void iterate (const TopoDS_Shape &shape, TopAbs_ShapeEnum shape_type, std::function< void(const TopoDS_Shape &)> callback)
 
void collect_curves (std::vector< opencascade::handle< Geom2d_Curve > > &curves, const TopoDS_Shape &shape)
 
std::vector< Mat< 2, 2 > > segments (const Mat< dyn, dyn > &points)
 
double objective (const std::vector< double > &arg, std::vector< double > &, void *data)
 
std::vector< std::string > get_side (std::string code, bool right=false)
 

Variables

constexpr int whatever = -1
 used in Array<T>::reshaped()
 
constexpr int same = -2
 used in Array<T>::reshaped()
 
const int dyn = Eigen::Dynamic
 convenience alias for Eigen::dynamic
 
const auto all = Eigen::all
 convenience alias for Eigen::all
 
const auto last = Eigen::last
 convenience alias for Eigen::last
 
constexpr double huge = std::numeric_limits<double>::max()
 convenience alias for largest double value
 
const auto inviscid = Transport_model::inviscid()
 always returns zero
 
const double heat_rat = 1.4
 
std::vector< std::array< double, 2 > > alt_temp
 

Detailed Description

Global namespace for all of the C++ API of Hexed.

Function Documentation

◆ erase_if()

template<typename T , typename C >
void hexed::erase_if ( std::vector< T > & vec,
C condition )

Erase every element x in a vector where condition(x) evaluates to true.

Complexity is O(vec.size()) regardless of number of elements to be deleted. Thus this is much more efficient than repeatedly calling vec.erase if multiple elements which are not in a contiguous range are to be erased.

◆ filter_limit()

void hexed::filter_limit ( int n_dim,
double * data,
const Basis & basis,
double decay_rate )

Applies a low-pass filter to polynomial data.

Limits the Legendre modes of multidimensional polynomial such that an \(n\)th degree mode will have norm no more than decay_rate \(^n\). Each mode which violates this condition is scaled to the largest value that satisfies it. Thus, if decay_rate == 1 then the data will never be altered, whereas if decay_rate == 0 then all the modes except the 0th-degree will be annhilated. data is assumed to point to the values of a scalar polynomial at the n_dim-dimensional quadrature points associated with the provided basis and thus must have size math::pow(basis.row_size, n_dim).

◆ format_str()

template<typename... format_args>
std::string hexed::format_str ( int max_chars,
std::string fstring,
format_args... args )

Standard string formatting.

Basically a knockoff of std::format in C++20 (which at the time of writing we can't use on the lab machines). Invokes snprintf, but works in terms of std::strings and handles buffer creation for you. Will allocate a buffer of size max_chars. Throws an exception if resulting formatted string is larger than max_chars.

◆ printed()

template<typename T >
T & hexed::printed ( T & t)

prints its argument and then returns it

you can wrap this around an expression to print it without computing it again

◆ read_csv()

Eigen::Matrix< double, dyn, dyn, Eigen::RowMajor > hexed::read_csv ( std::string file_name)

Reads a CSV file to a matrix.

Reads a table of data from an ASCII file in Comma Separated Value format. Every row must have the same number of columns. Each entry must contain exactly one numeric literal, preceded and/or followed by zero or more spaces and/or tabs, and nothing else. Thus trailing commas are not allowed, as this would be construed as an empty column. File extension does not matter. Blank lines are not allowed.

◆ stabilizing_art_visc()

void hexed::stabilizing_art_visc ( Kernel_mesh mesh,
double char_speed )

helper function for Solver::set_art_visc_admis

Sets the Element::uncertainty in the elements based on the smoothness of specific volume char_speed determines a final linear scaling parameter (usually based on the characteristic speed of the flow)

◆ standard_atmosphere()

std::array< double, 2 > hexed::standard_atmosphere ( double alt_geom,
double temp_offset = 0 )

computes the ICAO Standard atmosphere

Valid from 0 to 80km.

Parameters
alt_geomGeometric altitude (as opposed to geopotential altitude)
temp_offsetTemperature will be incremented by temp_offset relative to the standard atmosphere without changing the pressure.
Returns
density and pressure (in that order)
See also
Units and physical quantities

◆ vertex_inds()

std::array< std::vector< int >, 2 > hexed::vertex_inds ( int n_dim,
const Connection_direction & direction )

The indices of the element vertices which participate in a deformed connection.

Ordering is such that vertices which align in physical space correspond in the lists and the vertices of face 0 are ordered in the same way as they would be if the face were considered in isolation.

Variable Documentation

◆ alt_temp

std::vector<std::array<double, 2> > hexed::alt_temp
Initial value:
{
{ 0., 288.15},
{11000., 216.65},
{20000., 216.65},
{32000., 228.65},
{47000., 270.65},
{51000., 270.65},
{71000., 214.65},
{80000., 196.65},
}