Note for now much of the docs is LLM written. This was done to save time and focus on code development. The docs have been LOOSLEY reviewed. However, the code itself has been either fully written by hand or fully reviewed. Therefore, the docs should at the moment be seen as a loose resource rather than authoratiative (and this is on top of the general ability for docs to drift)
196 lines
18 KiB
HTML
196 lines
18 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
|
<meta name="generator" content="Doxygen 1.13.2"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
<title>SERiF: src/include/serif/eos/models/traits.hpp File Reference</title>
|
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="jquery.js"></script>
|
|
<script type="text/javascript" src="dynsections.js"></script>
|
|
<script type="text/javascript" src="clipboard.js"></script>
|
|
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="navtreedata.js"></script>
|
|
<script type="text/javascript" src="navtree.js"></script>
|
|
<script type="text/javascript" src="resize.js"></script>
|
|
<script type="text/javascript" src="cookie.js"></script>
|
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
<script type="text/javascript" src="search/search.js"></script>
|
|
<script type="text/x-mathjax-config">
|
|
MathJax.Hub.Config({
|
|
extensions: ["tex2jax.js"],
|
|
jax: ["input/TeX","output/HTML-CSS"],
|
|
});
|
|
</script>
|
|
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
|
|
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
|
|
<link href="doxygen-extra.css" rel="stylesheet" type="text/css"/>
|
|
</head>
|
|
<body>
|
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
<div id="titlearea">
|
|
<table cellspacing="0" cellpadding="0">
|
|
<tbody>
|
|
<tr id="projectrow">
|
|
<td id="projectalign">
|
|
<div id="projectname">SERiF<span id="projectnumber"> v0.0.1a</span>
|
|
</div>
|
|
<div id="projectbrief">Stellar Evolution and Rotation in Four Dimensions</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.13.2 -->
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
/* @license-end */
|
|
</script>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
$(function() { codefold.init(0); });
|
|
/* @license-end */
|
|
</script>
|
|
<script type="text/javascript" src="menudata.js"></script>
|
|
<script type="text/javascript" src="menu.js"></script>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
$(function() {
|
|
initMenu('',true,false,'search.php','Search',true);
|
|
$(function() { init_search(); });
|
|
});
|
|
/* @license-end */
|
|
</script>
|
|
<div id="main-nav"></div>
|
|
</div><!-- top -->
|
|
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
|
<div id="nav-tree">
|
|
<div id="nav-tree-contents">
|
|
<div id="nav-sync" class="sync"></div>
|
|
</div>
|
|
</div>
|
|
<div id="splitbar" style="-moz-user-select:none;"
|
|
class="ui-resizable-handle">
|
|
</div>
|
|
</div>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
$(function(){initNavTree('eos_2models_2traits_8hpp.html',''); initResizable(true); });
|
|
/* @license-end */
|
|
</script>
|
|
<div id="doc-content">
|
|
<!-- window showing the filter options -->
|
|
<div id="MSearchSelectWindow"
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
</div>
|
|
|
|
<!-- iframe showing the search results (closed by default) -->
|
|
<div id="MSearchResultsWindow">
|
|
<div id="MSearchResults">
|
|
<div class="SRPage">
|
|
<div id="SRIndex">
|
|
<div id="SRResults"></div>
|
|
<div class="SRStatus" id="Loading">Loading...</div>
|
|
<div class="SRStatus" id="Searching">Searching...</div>
|
|
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="header">
|
|
<div class="summary">
|
|
<a href="#nested-classes">Classes</a> |
|
|
<a href="#namespaces">Namespaces</a> |
|
|
<a href="#var-members">Variables</a> </div>
|
|
<div class="headertitle"><div class="title">traits.hpp File Reference</div></div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
|
|
<p>File containing the traits for the eos module. These traits are used to determine if a type is an equation of state model and if it supports a given relation or partial derivative.
|
|
<a href="#details">More...</a></p>
|
|
<div class="textblock"><code>#include "<a class="el" href="quantities_8hpp.html">serif/dimensions/quantities.hpp</a>"</code><br />
|
|
<code>#include "<a class="el" href="partial_8hpp.html">serif/dimensions/partial.hpp</a>"</code><br />
|
|
<code>#include "<a class="el" href="eos_2relations_2concepts_8hpp.html">serif/eos/relations/concepts.hpp</a>"</code><br />
|
|
</div><div class="textblock"><div class="dynheader">
|
|
Include dependency graph for traits.hpp:</div>
|
|
<div class="dyncontent">
|
|
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="eos_2models_2traits_8hpp__incl.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div>
|
|
</div>
|
|
</div><div class="textblock"><div class="dynheader">
|
|
This graph shows which files directly or indirectly include this file:</div>
|
|
<div class="dyncontent">
|
|
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="eos_2models_2traits_8hpp__dep__incl.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div>
|
|
</div>
|
|
</div><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
|
|
Classes</h2></td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structserif_1_1eos_1_1models_1_1_implements_relation__t.html">serif::eos::models::ImplementsRelation_t< EOS, RelationT ></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A trait to determine if a type is an equation of state model. This is the default false specialization. <a href="structserif_1_1eos_1_1models_1_1_implements_relation__t.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structserif_1_1eos_1_1models_1_1_implements_relation_catalog__t.html">serif::eos::models::ImplementsRelationCatalog_t< EOS, Output, Inputs ></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A specialization of the <a class="el" href="structserif_1_1eos_1_1models_1_1_implements_relation__t.html" title="A trait to determine if a type is an equation of state model. This is the default false specializatio...">ImplementsRelation_t</a> trait for a relation. This is used to determine if an EOS type implements a given relation. <a href="structserif_1_1eos_1_1models_1_1_implements_relation_catalog__t.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structserif_1_1eos_1_1models_1_1_implements_relation_catalog__t_3_01_e_o_s_00_01relations_1_1_re84a27b22ac57c74adaf074b343ae5413.html">serif::eos::models::ImplementsRelationCatalog_t< EOS, relations::RelationCatalog< Relations... > ></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A specialization of the <a class="el" href="structserif_1_1eos_1_1models_1_1_implements_relation_catalog__t.html" title="A specialization of the ImplementsRelation_t trait for a relation. This is used to determine if an EO...">ImplementsRelationCatalog_t</a> trait for a relation catalog. This is used to determine if an EOS type implements all relations in a given relation catalog. <a href="structserif_1_1eos_1_1models_1_1_implements_relation_catalog__t_3_01_e_o_s_00_01relations_1_1_re84a27b22ac57c74adaf074b343ae5413.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structserif_1_1eos_1_1models_1_1_is_equation_of_state_model__t.html">serif::eos::models::IsEquationOfStateModel_t< EOSCandidate, typename ></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A trait to determine if a type is an equation of state model. This is the default false specialization. <a href="structserif_1_1eos_1_1models_1_1_is_equation_of_state_model__t.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structserif_1_1eos_1_1models_1_1_is_equation_of_state_model__t_3_01_e_o_s_candidate_00_01std_1_12c3fff187c709d66c77cc44935c5cf28.html">serif::eos::models::IsEquationOfStateModel_t< EOSCandidate, std::void_t< typename std::remove_cvref_t< EOSCandidate >::Relations > ></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A specialization of the <a class="el" href="structserif_1_1eos_1_1models_1_1_is_equation_of_state_model__t.html" title="A trait to determine if a type is an equation of state model. This is the default false specializatio...">IsEquationOfStateModel_t</a> trait for a type that has a Relations type alias. A candidate is an equation of state model if it has a valid relation catalog and implements all relations in that catalog. <a href="structserif_1_1eos_1_1models_1_1_is_equation_of_state_model__t_3_01_e_o_s_candidate_00_01std_1_12c3fff187c709d66c77cc44935c5cf28.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structserif_1_1eos_1_1models_1_1_implements_partial_derivative__t.html">serif::eos::models::ImplementsPartialDerivative_t< EOS, RelationT, InputQuantity ></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A trait to determine if a type implements a partial derivative for a given relation and input quantity. This is the default false specialization. <a href="structserif_1_1eos_1_1models_1_1_implements_partial_derivative__t.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structserif_1_1eos_1_1models_1_1_implements_second_partial_derivative__t.html">serif::eos::models::ImplementsSecondPartialDerivative_t< EOS, RelationT, FirstInput, SecondInput ></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A second partial is available only for two actual inputs of the relation. <a href="structserif_1_1eos_1_1models_1_1_implements_second_partial_derivative__t.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
|
|
Namespaces</h2></td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceserif.html">serif</a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceserif_1_1eos.html">serif::eos</a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceserif_1_1eos_1_1models.html">serif::eos::models</a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="var-members" name="var-members"></a>
|
|
Variables</h2></td></tr>
|
|
<tr class="memitem:a54483208e757570d1ef38aa59b9da8d6" id="r_a54483208e757570d1ef38aa59b9da8d6"><td class="memTemplParams" colspan="2">template<typename EOSCandidate> </td></tr>
|
|
<tr class="memitem:a54483208e757570d1ef38aa59b9da8d6"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceserif_1_1eos_1_1models.html#a54483208e757570d1ef38aa59b9da8d6">serif::eos::models::is_equation_of_state_model_v</a> = <a class="el" href="structserif_1_1eos_1_1models_1_1_is_equation_of_state_model__t.html">IsEquationOfStateModel_t</a><std::remove_cvref_t<EOSCandidate>>::value</td></tr>
|
|
<tr class="memdesc:a54483208e757570d1ef38aa59b9da8d6"><td class="mdescLeft"> </td><td class="mdescRight">A specialization of the <a class="el" href="structserif_1_1eos_1_1models_1_1_implements_partial_derivative__t.html" title="A trait to determine if a type implements a partial derivative for a given relation and input quantit...">ImplementsPartialDerivative_t</a> trait for a relation and input quantity. This is used to determine if an EOS type implements a partial derivative for a given relation and input quantity. <br /></td></tr>
|
|
<tr class="separator:a54483208e757570d1ef38aa59b9da8d6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ade35b41c252dd1f4369ebf954c8c81e8" id="r_ade35b41c252dd1f4369ebf954c8c81e8"><td class="memTemplParams" colspan="2">template<typename EOS, typename RelationT> </td></tr>
|
|
<tr class="memitem:ade35b41c252dd1f4369ebf954c8c81e8"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceserif_1_1eos_1_1models.html#ade35b41c252dd1f4369ebf954c8c81e8">serif::eos::models::supports_relation_v</a> = <a class="el" href="namespaceserif_1_1eos_1_1models.html#a54483208e757570d1ef38aa59b9da8d6">is_equation_of_state_model_v</a><EOS> && <a class="el" href="structserif_1_1eos_1_1models_1_1_implements_relation__t.html">ImplementsRelation_t</a><std::remove_cvref_t<EOS>, std::remove_cvref_t<RelationT>>::value</td></tr>
|
|
<tr class="memdesc:ade35b41c252dd1f4369ebf954c8c81e8"><td class="mdescLeft"> </td><td class="mdescRight">Require an analytic implementation with the exact physical return type. <br /></td></tr>
|
|
<tr class="separator:ade35b41c252dd1f4369ebf954c8c81e8"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab0fa71430824737b86a42a5eb08a83ee" id="r_ab0fa71430824737b86a42a5eb08a83ee"><td class="memTemplParams" colspan="2">template<typename EOS, typename RelationT, typename InputQuantity> </td></tr>
|
|
<tr class="memitem:ab0fa71430824737b86a42a5eb08a83ee"><td class="memTemplItemLeft" align="right" valign="top">constexpr bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceserif_1_1eos_1_1models.html#ab0fa71430824737b86a42a5eb08a83ee">serif::eos::models::supports_partial_derivative_v</a> = <a class="el" href="namespaceserif_1_1eos_1_1models.html#a54483208e757570d1ef38aa59b9da8d6">is_equation_of_state_model_v</a><EOS> && <a class="el" href="structserif_1_1eos_1_1models_1_1_implements_partial_derivative__t.html">ImplementsPartialDerivative_t</a><std::remove_cvref_t<EOS>, std::remove_cvref_t<RelationT>, InputQuantity>::value</td></tr>
|
|
<tr class="memdesc:ab0fa71430824737b86a42a5eb08a83ee"><td class="mdescLeft"> </td><td class="mdescRight">A variable template to determine if an EOS type supports a partial derivative for a given relation and input quantity. <br /></td></tr>
|
|
<tr class="separator:ab0fa71430824737b86a42a5eb08a83ee"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
<div class="textblock"><p>File containing the traits for the eos module. These traits are used to determine if a type is an equation of state model and if it supports a given relation or partial derivative. </p>
|
|
<dl class="section author"><dt>Author</dt><dd>Emily M. Boudreaux </dd></dl>
|
|
</div></div><!-- contents -->
|
|
</div><!-- doc-content -->
|
|
<!-- start footer part -->
|
|
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
<ul>
|
|
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li><li class="navelem"><a class="el" href="dir_e3fc9bd9804296f8660ca61563b995c5.html">serif</a></li><li class="navelem"><a class="el" href="dir_6a72714e1eb3355d289888770995b3c4.html">eos</a></li><li class="navelem"><a class="el" href="dir_dc4bcfeee4a0943ee214ce45c1678abf.html">models</a></li><li class="navelem"><a class="el" href="eos_2models_2traits_8hpp.html">traits.hpp</a></li>
|
|
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
|
|
</ul>
|
|
</div>
|
|
</body>
|
|
</html>
|