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)
259 lines
34 KiB
HTML
259 lines
34 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/discretization/blocks/fields.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('fields_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> </div>
|
|
<div class="headertitle"><div class="title">fields.hpp File Reference</div></div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
|
|
<p>Define the fields and their associated terms for the discretization. This is a key file to understand if you are to understand SERiF's numerics. Each of these field types should contain all the information needed for the compiler to generate the correct.
|
|
<a href="#details">More...</a></p>
|
|
<div class="textblock"><code>#include <array></code><br />
|
|
<code>#include <string_view></code><br />
|
|
<code>#include "<a class="el" href="dimensions_8hpp.html">serif/dimensions/dimensions.hpp</a>"</code><br />
|
|
<code>#include "<a class="el" href="base_8hpp.html">serif/discretization/blocks/base.hpp</a>"</code><br />
|
|
<code>#include "<a class="el" href="space_8hpp.html">serif/discretization/functional_space/space.hpp</a>"</code><br />
|
|
<code>#include "<a class="el" href="discretization_2domain_2concepts_8hpp.html">serif/discretization/domain/concepts.hpp</a>"</code><br />
|
|
<code>#include "<a class="el" href="physical__domains_8hpp.html">serif/discretization/domain/physical_domains.hpp</a>"</code><br />
|
|
<code>#include "<a class="el" href="type__list_8hpp.html">serif/utils/types/type_list.hpp</a>"</code><br />
|
|
<code>#include "<a class="el" href="names_8hpp.html">serif/meta/names.hpp</a>"</code><br />
|
|
</div><div class="textblock"><div class="dynheader">
|
|
Include dependency graph for fields.hpp:</div>
|
|
<div class="dyncontent">
|
|
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="fields_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="fields_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_1discretization_1_1blocks_1_1field.html">serif::discretization::blocks::field</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The field struct is a tag type that is used to identify a field in the discretization. It is used to group together terms that belong to the same field. Each field should have a unique name and a list of terms that belong to it. <a href="structserif_1_1discretization_1_1blocks_1_1field.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_1discretization_1_1blocks_1_1term__base.html">serif::discretization::blocks::term_base</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="structserif_1_1discretization_1_1blocks_1_1term__base.html" title="The term_base struct is a tag type that is used to identify a term in the discretization....">term_base</a> struct is a tag type that is used to identify a term in the discretization. It is used to group together terms that belong to the same field. Each term should have a unique name and a list of blocks that belong to it. Generally you should always use term rather than <a class="el" href="structserif_1_1discretization_1_1blocks_1_1term__base.html" title="The term_base struct is a tag type that is used to identify a term in the discretization....">term_base</a> as term associates to a particular field at compile time. <a href="structserif_1_1discretization_1_1blocks_1_1term__base.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_1discretization_1_1blocks_1_1term.html">serif::discretization::blocks::term< FieldT ></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The term struct is a tag type that is used to identify a term in the discretization. It is used to group together terms that belong to the same field. Each term should have a unique name and a list of blocks that belong to it. Note that generally you should always use term rather than <a class="el" href="structserif_1_1discretization_1_1blocks_1_1term__base.html" title="The term_base struct is a tag type that is used to identify a term in the discretization....">term_base</a> as term associates to a particular field at compile time. <a href="structserif_1_1discretization_1_1blocks_1_1term.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_1discretization_1_1blocks_1_1global__scalar.html">serif::discretization::blocks::global_scalar</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A global scalar is a term that has a single value over the entire domain (think angular momentum or total mass). Broadly we need to separate these from the other terms since they require different (often less enriched) information at compile time. <a href="structserif_1_1discretization_1_1blocks_1_1global__scalar.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_1discretization_1_1blocks_1_1global__scalar_1_1value.html">serif::discretization::blocks::global_scalar::value</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The value block is a block that contains the value of the global scalar. It is a single value over the entire domain and is not associated with any particular functional space. For something like total mass this would be the actual value of the mass of the system. <a href="structserif_1_1discretization_1_1blocks_1_1global__scalar_1_1value.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_1discretization_1_1blocks_1_1global__scalar_1_1residual.html">serif::discretization::blocks::global_scalar::residual</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The residual block is a block that contains the residual of the global scalar. It is a single value over the entire domain and is not associated with any particular functional space. For something like total mass this would be the residual of the mass of the system (i.e. the difference between the current mass and the target mass). <a href="structserif_1_1discretization_1_1blocks_1_1global__scalar_1_1residual.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_1discretization_1_1blocks_1_1barotropic__constant.html">serif::discretization::blocks::barotropic_constant</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">This field holds the effective potential level on the stellar isobar. The level is solved together with the fixed total mass. The <a class="el" href="structserif_1_1discretization_1_1blocks_1_1barotropic__constant.html" title="This field holds the effective potential level on the stellar isobar. The level is solved together wi...">barotropic_constant</a> name is retained as an internal coordinate identity. In the density formulation its value is Us, the gravitational potential minus the centrifugal potential on the surface; it is not the polytropic EOS constant K. <a href="structserif_1_1discretization_1_1blocks_1_1barotropic__constant.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_1discretization_1_1blocks_1_1barotropic__constant_1_1mass__normalization.html">serif::discretization::blocks::barotropic_constant::mass_normalization</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The value of this global scalar is the effective surface-potential level Us. Its paired residual enforces the prescribed total mass. The surface equation supplies the dependence on Us, while the mass equation integrates the density over the star. <a href="structserif_1_1discretization_1_1blocks_1_1barotropic__constant_1_1mass__normalization.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_1discretization_1_1blocks_1_1frame__acceleration.html">serif::discretization::blocks::frame_acceleration</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Uniform translation reaction, one global scalar per Cartesian axis, to be paired with BarycenterConstraint (for example when an external companion potential acts on the star). It must vanish in a physical equilibrium. <a href="structserif_1_1discretization_1_1blocks_1_1frame__acceleration.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_1discretization_1_1blocks_1_1frame__acceleration_1_1component.html">serif::discretization::blocks::frame_acceleration::component< Axis ></a></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_1discretization_1_1blocks_1_1rotation.html">serif::discretization::blocks::rotation</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The rotational field, represented as the angular velocity term, given that we currently only model rigid rotation this is a global scalar. A future extension which models differential rotation will likely need to modify this to some vector field or other more complex representation of the rotation. <a href="structserif_1_1discretization_1_1blocks_1_1rotation.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_1discretization_1_1blocks_1_1rotation_1_1angular__velocity.html">serif::discretization::blocks::rotation::angular_velocity</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="structserif_1_1discretization_1_1blocks_1_1rotation_1_1angular__velocity.html" title="The angular_velocity term represents the angular velocity of the system. It is a global scalar that i...">angular_velocity</a> term represents the angular velocity of the system. It is a global scalar that is associated with the rotation of the system. This is used to enforce the rotation condition in the weak form when we are in the rigid rotation case. Note that downstream the way that this currently works is to calculate the expected angular velocity given the current mass, geometry, density, and angular momentum and then prescribe, given those, what the angular velocity should be. Therefore, this does not enforce that the angular velocity must be constant over the entire solver run, but rather that the angular velocity is consistent with the current state of the system. <a href="structserif_1_1discretization_1_1blocks_1_1rotation_1_1angular__velocity.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_1discretization_1_1blocks_1_1density.html">serif::discretization::blocks::density</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The density field used to represent the distribution of mass in the system. This is a scalar field that is associated with the mass density of the system. The density field is used to enforce the mass conservation condition in the weak form. <a href="structserif_1_1discretization_1_1blocks_1_1density.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_1discretization_1_1blocks_1_1density_1_1mass.html">serif::discretization::blocks::density::mass</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The mass density term for the system. Note that the naming here could be a bit confusing as FEM also uses the term "mass" to represent the canonical mass matrix. This is a more standard physics reading of what is going on here. We define that this space is a third order scalar H1 space. This gives density a continuous surface trace and a weak spatial gradient. <a href="structserif_1_1discretization_1_1blocks_1_1density_1_1mass.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_1discretization_1_1blocks_1_1density_1_1mass_1_1value.html">serif::discretization::blocks::density::mass::value</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The value block is a block that contains the value of the mass density term. It is a scalar field that is associated with the mass density of the system. <a href="structserif_1_1discretization_1_1blocks_1_1density_1_1mass_1_1value.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_1discretization_1_1blocks_1_1density_1_1mass_1_1residual.html">serif::discretization::blocks::density::mass::residual</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The residual block is a block that contains the residual of the mass density term. It is a scalar field that is associated with the mass density of the system. <a href="structserif_1_1discretization_1_1blocks_1_1density_1_1mass_1_1residual.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_1discretization_1_1blocks_1_1displacement.html">serif::discretization::blocks::displacement</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The displacement field is a 3 vector H1 field (C0 continuous) that is used to represent continuous nodal displacement over the entire domain. <a href="structserif_1_1discretization_1_1blocks_1_1displacement.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_1discretization_1_1blocks_1_1displacement_1_1vector.html">serif::discretization::blocks::displacement::vector</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">the displacement vector term is a 3 vector H1 field (C0 continuous) that is used to represent continuous nodal displacement over the entire domain. This is a vector field that is associated with the mapping of the domain from the reference to physical spaces. E.g. if there is some domain O_ref which n nodal positions x^i_ref then there is some other domain O_phys with n nodel positions such that x^i_phys = x^i_ref + d^i where d^i is the displacement vector at node i. <a href="structserif_1_1discretization_1_1blocks_1_1displacement_1_1vector.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_1discretization_1_1blocks_1_1displacement_1_1vector_1_1value.html">serif::discretization::blocks::displacement::vector::value</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The value block is a block that contains the value of the displacement vector term. It is a vector field that is associated with the mapping of the domain from the reference to physical spaces. <a href="structserif_1_1discretization_1_1blocks_1_1displacement_1_1vector_1_1value.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_1discretization_1_1blocks_1_1displacement_1_1vector_1_1residual.html">serif::discretization::blocks::displacement::vector::residual</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The residual block is a block that contains the residual of the displacement vector term. It is a vector field that is associated with the mapping of the domain from the reference to physical spaces. <a href="structserif_1_1discretization_1_1blocks_1_1displacement_1_1vector_1_1residual.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_1discretization_1_1blocks_1_1surface__deformation.html">serif::discretization::blocks::surface_deformation</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The surface corollary field to the full displacement field. This is in some ways more general than the others in so far as it is not pointwise defined over the domain. Rather, it is some general field of numbers, divorced from the underlying discrimination, that is used to represent the surface deformation of the system. This may be used, for example to represent spherical harmonic coefficients of the surface deformation. For more information see the surface and deformation systems. <a href="structserif_1_1discretization_1_1blocks_1_1surface__deformation.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_1discretization_1_1blocks_1_1surface__deformation_1_1coefficients.html">serif::discretization::blocks::surface_deformation::coefficients</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The coefficients term represents some set of coefficients associated with whatever surface representation is being used to represent the surface deformation. Note how we do not have a functional space, support, or a quantity. This is also where we associate the values with. <a href="structserif_1_1discretization_1_1blocks_1_1surface__deformation_1_1coefficients.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_1discretization_1_1blocks_1_1surface__deformation_1_1coefficients_1_1value.html">serif::discretization::blocks::surface_deformation::coefficients::value</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The actual values of the coefficients for whatever surface representation is being used. <a href="structserif_1_1discretization_1_1blocks_1_1surface__deformation_1_1coefficients_1_1value.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_1discretization_1_1blocks_1_1surface__deformation_1_1shape__equilibrium.html">serif::discretization::blocks::surface_deformation::shape_equilibrium</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The shape equilibrium term represents the shape equilibrium condition of the system. This is a term that is associated with the surface deformation field and is used to enforce the shape equilibrium condition in the weak form. This is where we associate the residuals with. Note how we do not have a functional space, support, or a quantity. This is because the shape equilibrium condition is a global condition that is not associated with any particular functional space, support, or quantity. <a href="structserif_1_1discretization_1_1blocks_1_1surface__deformation_1_1shape__equilibrium.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_1discretization_1_1blocks_1_1surface__deformation_1_1shape__equilibrium_1_1residual.html">serif::discretization::blocks::surface_deformation::shape_equilibrium::residual</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The residuals of the shape equilibrium condition. <a href="structserif_1_1discretization_1_1blocks_1_1surface__deformation_1_1shape__equilibrium_1_1residual.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_1discretization_1_1blocks_1_1gravity.html">serif::discretization::blocks::gravity</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The gravity field contains the scalar potential. The primal formulation solves the potential and obtains its gradient by differentiation. <a href="structserif_1_1discretization_1_1blocks_1_1gravity.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_1discretization_1_1blocks_1_1gravity_1_1potential.html">serif::discretization::blocks::gravity::potential</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The gravitational potential term is a fourth order H1 scalar field that is used to represent the gravitational potential of the system. Its continuous trace supports the surface potential condition, and its spatial gradient supplies gravity in the primal formulation. <a href="structserif_1_1discretization_1_1blocks_1_1gravity_1_1potential.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_1discretization_1_1blocks_1_1gravity_1_1potential_1_1value.html">serif::discretization::blocks::gravity::potential::value</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The value block is a block that contains the value of the gravitational potential term. It is a scalar field that is associated with the gravitational potential of the system. <a href="structserif_1_1discretization_1_1blocks_1_1gravity_1_1potential_1_1value.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_1discretization_1_1blocks_1_1gravity_1_1potential_1_1residual.html">serif::discretization::blocks::gravity::potential::residual</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The residual block is a block that contains the residual of the gravitational potential term. It is a scalar field that is associated with the gravitational potential of the system. <a href="structserif_1_1discretization_1_1blocks_1_1gravity_1_1potential_1_1residual.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_1discretization.html">serif::discretization</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_1discretization_1_1blocks.html">serif::discretization::blocks</a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
<div class="textblock"><p>Define the fields and their associated terms for the discretization. This is a key file to understand if you are to understand SERiF's numerics. Each of these field types should contain all the information needed for the compiler to generate the correct. </p>
|
|
<dl class="section author"><dt>Author</dt><dd>Emily M. Boudreaux<ul>
|
|
<li>blocks</li>
|
|
<li>functional spaces</li>
|
|
<li>support domains</li>
|
|
<li>quantities</li>
|
|
<li>symbols</li>
|
|
<li>and any other information needed to generate the correct weak form for the field Broadly you can think of these as where we define the "physics" that we want to solve for or the unknowns of the system. If you find yourself adding any sort of unknown to the system and you are not adding it to this file you should step back and reconsider\ if that belongs here instead. </li>
|
|
</ul>
|
|
</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_7fd1bd470eaeb2bcec2963effbdf83df.html">discretization</a></li><li class="navelem"><a class="el" href="dir_6e13d9f65eef4cc189aba4b3a2a1a384.html">blocks</a></li><li class="navelem"><a class="el" href="fields_8hpp.html">fields.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>
|