Files
MeanField_SERiF/docs/xml/fields_8cpp.xml

257 lines
21 KiB
XML
Raw Normal View History

<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.13.2" xml:lang="en-US">
<compounddef id="fields_8cpp" kind="file" language="C++">
<compoundname>fields.cpp</compoundname>
<includes refid="discretization_2blocks_2concepts_8hpp" local="yes">serif/discretization/blocks/concepts.hpp</includes>
<includes refid="discretization_2blocks_2traits_8hpp" local="yes">serif/discretization/blocks/traits.hpp</includes>
<includes refid="dimensions_8hpp" local="yes">serif/dimensions/dimensions.hpp</includes>
<incdepgraph>
<node id="1">
<label>src/compile_time_checks/serif/discretization/blocks/fields.cpp</label>
<link refid="fields_8cpp"/>
<childnode refid="2" relation="include">
</childnode>
<childnode refid="30" relation="include">
</childnode>
<childnode refid="6" relation="include">
</childnode>
</node>
<node id="6">
<label>serif/dimensions/dimensions.hpp</label>
<link refid="dimensions_8hpp"/>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="7" relation="include">
</childnode>
</node>
<node id="7">
<label>serif/dimensions/quantities.hpp</label>
<link refid="quantities_8hpp"/>
<childnode refid="8" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="11" relation="include">
</childnode>
<childnode refid="12" relation="include">
</childnode>
<childnode refid="13" relation="include">
</childnode>
</node>
<node id="14">
<label>serif/discretization/blocks/base.hpp</label>
<link refid="base_8hpp"/>
</node>
<node id="2">
<label>serif/discretization/blocks/concepts.hpp</label>
<link refid="discretization_2blocks_2concepts_8hpp"/>
<childnode refid="3" relation="include">
</childnode>
</node>
<node id="3">
<label>serif/discretization/blocks/fields.hpp</label>
<link refid="fields_8hpp"/>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="6" relation="include">
</childnode>
<childnode refid="14" relation="include">
</childnode>
<childnode refid="15" relation="include">
</childnode>
<childnode refid="20" relation="include">
</childnode>
<childnode refid="26" relation="include">
</childnode>
<childnode refid="27" relation="include">
</childnode>
<childnode refid="28" relation="include">
</childnode>
</node>
<node id="30">
<label>serif/discretization/blocks/traits.hpp</label>
<link refid="discretization_2blocks_2traits_8hpp"/>
<childnode refid="8" relation="include">
</childnode>
<childnode refid="2" relation="include">
</childnode>
</node>
<node id="20">
<label>serif/discretization/domain/concepts.hpp</label>
<link refid="discretization_2domain_2concepts_8hpp"/>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="22" relation="include">
</childnode>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="16" relation="include">
</childnode>
<childnode refid="23" relation="include">
</childnode>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="12" relation="include">
</childnode>
<childnode refid="25" relation="include">
</childnode>
</node>
<node id="26">
<label>serif/discretization/domain/physical_domains.hpp</label>
<link refid="physical__domains_8hpp"/>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="20" relation="include">
</childnode>
</node>
<node id="24">
<label>serif/discretization/domain/types.hpp</label>
<link refid="discretization_2domain_2types_8hpp"/>
<childnode refid="5" relation="include">
</childnode>
</node>
<node id="15">
<label>serif/discretization/functional_space/space.hpp</label>
<link refid="space_8hpp"/>
<childnode refid="8" relation="include">
</childnode>
<childnode refid="16" relation="include">
</childnode>
<childnode refid="17" relation="include">
</childnode>
</node>
<node id="17">
<label>serif/meta/enums.hpp</label>
<link refid="enums_8hpp"/>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="8" relation="include">
</childnode>
<childnode refid="19" relation="include">
</childnode>
</node>
<node id="28">
<label>serif/meta/names.hpp</label>
<link refid="names_8hpp"/>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="29" relation="include">
</childnode>
</node>
<node id="13">
<label>serif/utils/misc/concepts/numeric.hpp</label>
<link refid="numeric_8hpp"/>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="8" relation="include">
</childnode>
</node>
<node id="12">
<label>serif/utils/misc/std_helper/cleaning.hpp</label>
<link refid="cleaning_8hpp"/>
<childnode refid="8" relation="include">
</childnode>
</node>
<node id="25">
<label>serif/utils/misc/std_helper/variadic_cleaning.hpp</label>
<link refid="variadic__cleaning_8hpp"/>
<childnode refid="21" relation="include">
</childnode>
</node>
<node id="27">
<label>serif/utils/types/type_list.hpp</label>
<link refid="type__list_8hpp"/>
</node>
<node id="4">
<label>array</label>
</node>
<node id="9">
<label>compare</label>
</node>
<node id="10">
<label>concepts</label>
</node>
<node id="21">
<label>cstddef</label>
</node>
<node id="16">
<label>format</label>
</node>
<node id="19">
<label>magic_enum/magic_enum_all.hpp</label>
</node>
<node id="29">
<label>nameof.hpp</label>
</node>
<node id="23">
<label>numeric</label>
</node>
<node id="22">
<label>span</label>
</node>
<node id="5">
<label>string_view</label>
</node>
<node id="11">
<label>tuple</label>
</node>
<node id="8">
<label>type_traits</label>
</node>
<node id="18">
<label>unordered_map</label>
</node>
</incdepgraph>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<programlisting>
<codeline lineno="1"><highlight class="preprocessor">#include<sp/>&quot;<ref refid="discretization_2blocks_2concepts_8hpp" kindref="compound">serif/discretization/blocks/concepts.hpp</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="discretization_2blocks_2traits_8hpp" kindref="compound">serif/discretization/blocks/traits.hpp</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="dimensions_8hpp" kindref="compound">serif/dimensions/dimensions.hpp</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="4"><highlight class="normal"></highlight></codeline>
<codeline lineno="5"><highlight class="normal"></highlight><highlight class="keyword">namespace<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="6"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/>namespace<sp/></highlight><highlight class="normal"><ref refid="namespaceserif_1_1discretization" kindref="compound">serif::discretization</ref>;</highlight></codeline>
<codeline lineno="7"><highlight class="normal"></highlight></codeline>
<codeline lineno="8"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal">Density<sp/>=<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1density_1_1mass" kindref="compound">blocks::density::mass</ref>;</highlight></codeline>
<codeline lineno="9"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal"><ref refid="namespaceserif_1_1compile__time__checks_1_1fields__meanfield_1afea6cde56a3043b59244b4bca67e0669" kindref="member">Displacement</ref><sp/>=<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1displacement_1_1vector" kindref="compound">blocks::displacement::vector</ref>;</highlight></codeline>
<codeline lineno="10"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal"><ref refid="namespaceserif_1_1compile__time__checks_1_1surface__boundary_1ac97dae37877a1321ad4da607ae8254df" kindref="member">Coefficients</ref><sp/>=<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1surface__deformation_1_1coefficients" kindref="compound">blocks::surface_deformation::coefficients</ref>;</highlight></codeline>
<codeline lineno="11"><highlight class="normal"></highlight></codeline>
<codeline lineno="12"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static_assert</highlight><highlight class="normal">(blocks::SpatialTerm&lt;Density&gt;,<sp/></highlight><highlight class="stringliteral">&quot;Density<sp/>should<sp/>be<sp/>a<sp/>spatial<sp/>term&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="13"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static_assert</highlight><highlight class="normal">(blocks::SpatialTerm&lt;Displacement&gt;,<sp/></highlight><highlight class="stringliteral">&quot;Displacement<sp/>should<sp/>be<sp/>a<sp/>spatial<sp/>term&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="14"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static_assert</highlight><highlight class="normal">(!blocks::SpatialTerm&lt;Coefficients&gt;,<sp/></highlight><highlight class="stringliteral">&quot;Coefficients<sp/>should<sp/>not<sp/>be<sp/>a<sp/>spatial<sp/>term&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="15"><highlight class="normal"></highlight></codeline>
<codeline lineno="16"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static_assert</highlight><highlight class="normal">(blocks::HasQuantity&lt;Density&gt;,<sp/></highlight><highlight class="stringliteral">&quot;Density<sp/>should<sp/>have<sp/>a<sp/>quantity&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="17"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static_assert</highlight><highlight class="normal">(blocks::HasValueBlock&lt;Coefficients&gt;,<sp/></highlight><highlight class="stringliteral">&quot;Coefficients<sp/>should<sp/>have<sp/>a<sp/>value<sp/>block&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="18"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static_assert</highlight><highlight class="normal">(!blocks::HasResidualBlock&lt;Coefficients&gt;,<sp/></highlight><highlight class="stringliteral">&quot;Coefficients<sp/>should<sp/>not<sp/>have<sp/>a<sp/>residual<sp/>block&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="19"><highlight class="normal"></highlight></codeline>
<codeline lineno="20"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal">DensitySpace<sp/>=<sp/><ref refid="namespaceserif_1_1discretization_1_1blocks_1a8b16d088f59cff9d40cd84eebd53d3b1" kindref="member">blocks::FunctionalSpaceOf&lt;Density&gt;</ref>;</highlight></codeline>
<codeline lineno="21"><highlight class="normal"></highlight></codeline>
<codeline lineno="22"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static_assert</highlight><highlight class="normal">(DensitySpace::functional_space.family<sp/>==<sp/><ref refid="namespaceserif_1_1discretization_1_1functional__space_1a9cef5bcb37ac268d2f0f2053433f8594a346b81a32e7007eccadf60252bb599f0" kindref="member">functional_space::Family::h1</ref>,<sp/></highlight><highlight class="stringliteral">&quot;Density<sp/>should<sp/>be<sp/>in<sp/>an<sp/>H1<sp/>space&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="23"><highlight class="normal"></highlight></codeline>
<codeline lineno="24"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static_assert</highlight><highlight class="normal">(DensitySpace::order<sp/>==<sp/>3,<sp/></highlight><highlight class="stringliteral">&quot;Density<sp/>should<sp/>be<sp/>in<sp/>a<sp/>third<sp/>order<sp/>space&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="25"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static_assert</highlight><highlight class="normal">(DensitySpace::rank::value<sp/>==<sp/>0,<sp/></highlight><highlight class="stringliteral">&quot;Density<sp/>should<sp/>be<sp/>a<sp/>scalar<sp/>field&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="26"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static_assert</highlight><highlight class="normal">(std::same_as&lt;blocks::SupportOf&lt;Density&gt;,<sp/><ref refid="namespaceserif_1_1discretization_1_1domain_1aa2fd687c5f7b8750fd6980f2a7a77652" kindref="member">domain::StellarDomains</ref>&gt;,<sp/></highlight><highlight class="stringliteral">&quot;Density<sp/>should<sp/>be<sp/>supported<sp/>on<sp/>stellar<sp/>domains&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="27"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static_assert</highlight><highlight class="normal">(std::same_as&lt;blocks::QuantityOf&lt;Density&gt;,<sp/><ref refid="structserif_1_1dimensions_1_1_mass_density" kindref="compound">serif::dimensions::MassDensity</ref>&gt;,<sp/></highlight><highlight class="stringliteral">&quot;Density<sp/>should<sp/>have<sp/>a<sp/>quantity<sp/>of<sp/>type<sp/>Density&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="28"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static_assert</highlight><highlight class="normal">(<ref refid="structserif_1_1discretization_1_1blocks_1_1_spatial_term_traits_1a381a9034e8fb7a9ecc87833f81aa17fb" kindref="member">blocks::SpatialTermTraits&lt;Density&gt;::family</ref><sp/>==<sp/><ref refid="namespaceserif_1_1discretization_1_1functional__space_1a9cef5bcb37ac268d2f0f2053433f8594a346b81a32e7007eccadf60252bb599f0" kindref="member">functional_space::Family::h1</ref>,<sp/></highlight><highlight class="stringliteral">&quot;Density<sp/>should<sp/>be<sp/>in<sp/>an<sp/>H1<sp/>space&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="29"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static_assert</highlight><highlight class="normal">(<ref refid="structserif_1_1discretization_1_1blocks_1_1_spatial_term_traits_1ae4ddd4a8c4f9a43e9dec7e20600ed722" kindref="member">blocks::SpatialTermTraits&lt;Density&gt;::order</ref><sp/>==<sp/>3,<sp/></highlight><highlight class="stringliteral">&quot;Density<sp/>should<sp/>be<sp/>in<sp/>a<sp/>third<sp/>order<sp/>space&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="30"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static_assert</highlight><highlight class="normal">(<ref refid="structserif_1_1discretization_1_1blocks_1_1_spatial_term_traits_1aa3a811a918491a87da6ab6b4de6978a3" kindref="member">blocks::SpatialTermTraits&lt;Density&gt;::rank</ref><sp/>==<sp/>0,<sp/></highlight><highlight class="stringliteral">&quot;Density<sp/>should<sp/>be<sp/>a<sp/>scalar<sp/>field&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="31"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static_assert</highlight><highlight class="normal">(<ref refid="structserif_1_1discretization_1_1blocks_1_1_spatial_term_traits_1a381a9034e8fb7a9ecc87833f81aa17fb" kindref="member">blocks::SpatialTermTraits&lt;Displacement&gt;::family</ref><sp/>==<sp/><ref refid="namespaceserif_1_1discretization_1_1functional__space_1a9cef5bcb37ac268d2f0f2053433f8594a346b81a32e7007eccadf60252bb599f0" kindref="member">functional_space::Family::h1</ref>,<sp/></highlight><highlight class="stringliteral">&quot;Displacement<sp/>should<sp/>be<sp/>in<sp/>an<sp/>H1<sp/>space&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="32"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static_assert</highlight><highlight class="normal">(<ref refid="structserif_1_1discretization_1_1blocks_1_1_spatial_term_traits_1ae4ddd4a8c4f9a43e9dec7e20600ed722" kindref="member">blocks::SpatialTermTraits&lt;Displacement&gt;::order</ref><sp/>==<sp/>3,<sp/></highlight><highlight class="stringliteral">&quot;Displacement<sp/>should<sp/>be<sp/>in<sp/>a<sp/>third<sp/>order<sp/>space&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="33"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static_assert</highlight><highlight class="normal">(<ref refid="structserif_1_1discretization_1_1blocks_1_1_spatial_term_traits_1aa3a811a918491a87da6ab6b4de6978a3" kindref="member">blocks::SpatialTermTraits&lt;Displacement&gt;::rank</ref><sp/>==<sp/>1,<sp/></highlight><highlight class="stringliteral">&quot;Displacement<sp/>should<sp/>be<sp/>a<sp/>vector<sp/>field&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="34"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static_assert</highlight><highlight class="normal">(<ref refid="structserif_1_1discretization_1_1blocks_1_1_spatial_term_traits_1a381a9034e8fb7a9ecc87833f81aa17fb" kindref="member">blocks::SpatialTermTraits&lt;blocks::gravity::potential&gt;::family</ref><sp/>==<sp/><ref refid="namespaceserif_1_1discretization_1_1functional__space_1a9cef5bcb37ac268d2f0f2053433f8594a346b81a32e7007eccadf60252bb599f0" kindref="member">functional_space::Family::h1</ref>,<sp/></highlight><highlight class="stringliteral">&quot;Gravity<sp/>potential<sp/>should<sp/>be<sp/>in<sp/>an<sp/>H1<sp/>space&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="35"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static_assert</highlight><highlight class="normal">(<ref refid="structserif_1_1discretization_1_1blocks_1_1_spatial_term_traits_1ae4ddd4a8c4f9a43e9dec7e20600ed722" kindref="member">blocks::SpatialTermTraits&lt;blocks::gravity::potential&gt;::order</ref><sp/>==<sp/>4,<sp/></highlight><highlight class="stringliteral">&quot;Gravity<sp/>potential<sp/>should<sp/>be<sp/>in<sp/>a<sp/>fourth<sp/>order<sp/>space&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="36"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static_assert</highlight><highlight class="normal">(<ref refid="structserif_1_1discretization_1_1blocks_1_1_spatial_term_traits_1aa3a811a918491a87da6ab6b4de6978a3" kindref="member">blocks::SpatialTermTraits&lt;blocks::gravity::potential&gt;::rank</ref><sp/>==<sp/>0,<sp/></highlight><highlight class="stringliteral">&quot;Gravity<sp/>potential<sp/>should<sp/>be<sp/>a<sp/>scalar<sp/>field&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="37"><highlight class="normal">}</highlight></codeline>
</programlisting>
<location file="src/compile_time_checks/serif/discretization/blocks/fields.cpp"/>
</compounddef>
</doxygen>