157 lines
18 KiB
XML
157 lines
18 KiB
XML
|
|
<?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="topology_8hpp" kind="file" language="C++">
|
||
|
|
<compoundname>topology.hpp</compoundname>
|
||
|
|
<includes local="no">cstddef</includes>
|
||
|
|
<includes local="no">vector</includes>
|
||
|
|
<includedby refid="all_8hpp" local="yes">src/include/serif/discretization/domain/schema/validation/all.hpp</includedby>
|
||
|
|
<includedby refid="schema_2validation_2boundary_8hpp" local="yes">src/include/serif/discretization/domain/schema/validation/boundary.hpp</includedby>
|
||
|
|
<includedby refid="connected_8hpp" local="yes">src/include/serif/discretization/domain/schema/validation/connected.hpp</includedby>
|
||
|
|
<includedby refid="inscribed_8hpp" local="yes">src/include/serif/discretization/domain/schema/validation/inscribed.hpp</includedby>
|
||
|
|
<includedby refid="validator_8hpp" local="yes">src/include/serif/discretization/domain/schema/validation/validator.hpp</includedby>
|
||
|
|
<includedby refid="topology_8cpp" local="yes">src/lib/serif/discretization/domain/mesh/topology.cpp</includedby>
|
||
|
|
<incdepgraph>
|
||
|
|
<node id="1">
|
||
|
|
<label>src/include/serif/discretization/domain/mesh/topology.hpp</label>
|
||
|
|
<link refid="topology_8hpp"/>
|
||
|
|
<childnode refid="2" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="3" relation="include">
|
||
|
|
</childnode>
|
||
|
|
</node>
|
||
|
|
<node id="2">
|
||
|
|
<label>cstddef</label>
|
||
|
|
</node>
|
||
|
|
<node id="3">
|
||
|
|
<label>vector</label>
|
||
|
|
</node>
|
||
|
|
</incdepgraph>
|
||
|
|
<invincdepgraph>
|
||
|
|
<node id="1">
|
||
|
|
<label>src/include/serif/discretization/domain/mesh/topology.hpp</label>
|
||
|
|
<link refid="topology_8hpp"/>
|
||
|
|
<childnode refid="2" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="3" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="4" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="5" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="6" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="7" relation="include">
|
||
|
|
</childnode>
|
||
|
|
</node>
|
||
|
|
<node id="2">
|
||
|
|
<label>src/include/serif/discretization/domain/schema/validation/all.hpp</label>
|
||
|
|
<link refid="all_8hpp"/>
|
||
|
|
</node>
|
||
|
|
<node id="3">
|
||
|
|
<label>src/include/serif/discretization/domain/schema/validation/boundary.hpp</label>
|
||
|
|
<link refid="schema_2validation_2boundary_8hpp"/>
|
||
|
|
<childnode refid="2" relation="include">
|
||
|
|
</childnode>
|
||
|
|
</node>
|
||
|
|
<node id="4">
|
||
|
|
<label>src/include/serif/discretization/domain/schema/validation/connected.hpp</label>
|
||
|
|
<link refid="connected_8hpp"/>
|
||
|
|
<childnode refid="2" relation="include">
|
||
|
|
</childnode>
|
||
|
|
</node>
|
||
|
|
<node id="5">
|
||
|
|
<label>src/include/serif/discretization/domain/schema/validation/inscribed.hpp</label>
|
||
|
|
<link refid="inscribed_8hpp"/>
|
||
|
|
<childnode refid="2" relation="include">
|
||
|
|
</childnode>
|
||
|
|
</node>
|
||
|
|
<node id="6">
|
||
|
|
<label>src/include/serif/discretization/domain/schema/validation/validator.hpp</label>
|
||
|
|
<link refid="validator_8hpp"/>
|
||
|
|
<childnode refid="2" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="3" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="4" relation="include">
|
||
|
|
</childnode>
|
||
|
|
<childnode refid="5" relation="include">
|
||
|
|
</childnode>
|
||
|
|
</node>
|
||
|
|
<node id="7">
|
||
|
|
<label>src/lib/serif/discretization/domain/mesh/topology.cpp</label>
|
||
|
|
<link refid="topology_8cpp"/>
|
||
|
|
</node>
|
||
|
|
</invincdepgraph>
|
||
|
|
<innerclass refid="structserif_1_1discretization_1_1domain_1_1mesh_1_1_face_elements" prot="public">serif::discretization::domain::mesh::FaceElements</innerclass>
|
||
|
|
<innerclass refid="classserif_1_1discretization_1_1domain_1_1mesh_1_1_mesh_topology" prot="public">serif::discretization::domain::mesh::MeshTopology</innerclass>
|
||
|
|
<innernamespace refid="namespacemfem">mfem</innernamespace>
|
||
|
|
<innernamespace refid="namespaceserif">serif</innernamespace>
|
||
|
|
<innernamespace refid="namespaceserif_1_1discretization">serif::discretization</innernamespace>
|
||
|
|
<innernamespace refid="namespaceserif_1_1discretization_1_1domain">serif::discretization::domain</innernamespace>
|
||
|
|
<innernamespace refid="namespaceserif_1_1discretization_1_1domain_1_1mesh">serif::discretization::domain::mesh</innernamespace>
|
||
|
|
<briefdescription>
|
||
|
|
<para>This file defines the MeshTopology class, which provides a convenient interface for querying the topological relationships between elements, faces, and boundaries in a mesh. </para>
|
||
|
|
</briefdescription>
|
||
|
|
<detaileddescription>
|
||
|
|
<para><simplesect kind="author"><para>Emily M. Boudreaux </para>
|
||
|
|
</simplesect>
|
||
|
|
</para>
|
||
|
|
</detaileddescription>
|
||
|
|
<programlisting>
|
||
|
|
<codeline lineno="1"><highlight class="preprocessor">#pragma<sp/>once</highlight><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="2"><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="9"><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="10"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/><cstddef></highlight><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="11"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/><vector></highlight><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="12"><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="13" refid="namespacemfem" refkind="compound"><highlight class="normal"></highlight><highlight class="keyword">namespace<sp/></highlight><highlight class="normal"><ref refid="namespacemfem" kindref="compound">mfem</ref><sp/>{</highlight></codeline>
|
||
|
|
<codeline lineno="21"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">class<sp/></highlight><highlight class="normal">Mesh;</highlight></codeline>
|
||
|
|
<codeline lineno="22"><highlight class="normal">}</highlight></codeline>
|
||
|
|
<codeline lineno="23"><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="24"><highlight class="normal"></highlight><highlight class="comment">//<sp/>MeshTopology</highlight><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="25" refid="namespaceserif_1_1discretization_1_1domain_1_1mesh" refkind="compound"><highlight class="normal"></highlight><highlight class="keyword">namespace<sp/></highlight><highlight class="normal"><ref refid="namespaceserif_1_1discretization_1_1domain_1_1mesh" kindref="compound">serif::discretization::domain::mesh</ref><sp/>{</highlight></codeline>
|
||
|
|
<codeline lineno="30" refid="structserif_1_1discretization_1_1domain_1_1mesh_1_1_face_elements" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1discretization_1_1domain_1_1mesh_1_1_face_elements" kindref="compound">FaceElements</ref><sp/>{</highlight></codeline>
|
||
|
|
<codeline lineno="31"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="structserif_1_1discretization_1_1domain_1_1mesh_1_1_face_elements_1a674f6cca3a3ff40ed5a711188b842cea" kindref="member">firstElementID</ref>{-1};</highlight></codeline>
|
||
|
|
<codeline lineno="32"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="structserif_1_1discretization_1_1domain_1_1mesh_1_1_face_elements_1a34d5453b401f45349b936aeaff799f11" kindref="member">secondElementID</ref>{-1};</highlight></codeline>
|
||
|
|
<codeline lineno="33"><highlight class="normal"><sp/><sp/><sp/><sp/>};</highlight></codeline>
|
||
|
|
<codeline lineno="34"><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="39" refid="classserif_1_1discretization_1_1domain_1_1mesh_1_1_mesh_topology" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">class<sp/></highlight><highlight class="normal"><ref refid="classserif_1_1discretization_1_1domain_1_1mesh_1_1_mesh_topology_1aa2a1baa98dccdf6043c39396af4aa988" kindref="member">MeshTopology</ref><sp/>final<sp/>{</highlight></codeline>
|
||
|
|
<codeline lineno="40"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal">:</highlight></codeline>
|
||
|
|
<codeline lineno="41"><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="46"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">explicit</highlight><highlight class="normal"><sp/><ref refid="classserif_1_1discretization_1_1domain_1_1mesh_1_1_mesh_topology_1aa2a1baa98dccdf6043c39396af4aa988" kindref="member">MeshTopology</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>mfem::Mesh<sp/>&<ref refid="namespaceserif_1_1discretization_1_1domain_1_1mesh" kindref="compound">mesh</ref>);</highlight></codeline>
|
||
|
|
<codeline lineno="47"><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="52"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>[[nodiscard]]<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="classserif_1_1discretization_1_1domain_1_1mesh_1_1_mesh_topology_1af3b8987f6c3365adf17ee0f07795897e" kindref="member">element_count</ref>()<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">noexcept</highlight><highlight class="normal">;</highlight></codeline>
|
||
|
|
<codeline lineno="53"><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="58"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>[[nodiscard]]<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="classserif_1_1discretization_1_1domain_1_1mesh_1_1_mesh_topology_1a7c78847387143ddb1d4f4e7d88fc8066" kindref="member">face_count</ref>()<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">noexcept</highlight><highlight class="normal">;</highlight></codeline>
|
||
|
|
<codeline lineno="59"><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="64"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>[[nodiscard]]<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="classserif_1_1discretization_1_1domain_1_1mesh_1_1_mesh_topology_1a5b59f21cf3cb9d29e04779257abab394" kindref="member">boundary_element_count</ref>()<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">noexcept</highlight><highlight class="normal">;</highlight></codeline>
|
||
|
|
<codeline lineno="65"><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="73"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>[[nodiscard]]<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="classserif_1_1discretization_1_1domain_1_1mesh_1_1_mesh_topology_1abe06f844cc01a3c0061c04cfd95c37b4" kindref="member">element_domain_id</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>elementID)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
|
||
|
|
<codeline lineno="74"><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="82"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>[[nodiscard]]<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="classserif_1_1discretization_1_1domain_1_1mesh_1_1_mesh_topology_1acc2567ca8224e7656ae8ece5eaef01e7" kindref="member">boundary_element_boundary_id</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>boundaryElementID)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
|
||
|
|
<codeline lineno="83"><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="89"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>[[nodiscard]]<sp/><ref refid="structserif_1_1discretization_1_1domain_1_1mesh_1_1_face_elements" kindref="compound">FaceElements</ref><sp/><ref refid="classserif_1_1discretization_1_1domain_1_1mesh_1_1_mesh_topology_1a00fd22c41c6d751809531cbdf21bfb73" kindref="member">face_elements</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>faceID)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
|
||
|
|
<codeline lineno="90"><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="98"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>[[nodiscard]]<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>std::vector<int><sp/>&<ref refid="classserif_1_1discretization_1_1domain_1_1mesh_1_1_mesh_topology_1ab1f6807b2afdacc5d0dea5b516f4e4ae" kindref="member">element_neighbors</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>elementID)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
|
||
|
|
<codeline lineno="99"><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="105"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>[[nodiscard]]<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="classserif_1_1discretization_1_1domain_1_1mesh_1_1_mesh_topology_1aabd045e134060487c56a86fb1579d38c" kindref="member">boundary_element_face</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>boundaryElementID)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
|
||
|
|
<codeline lineno="106"><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="114"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>[[nodiscard]]<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>std::vector<int><sp/>&<ref refid="classserif_1_1discretization_1_1domain_1_1mesh_1_1_mesh_topology_1a049a42e367fe55c4c6631f5b55dad357" kindref="member">boundary_elements_on_face</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>faceID)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
|
||
|
|
<codeline lineno="115"><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="116"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">private</highlight><highlight class="normal">:</highlight></codeline>
|
||
|
|
<codeline lineno="117"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::vector<int><sp/><ref refid="classserif_1_1discretization_1_1domain_1_1mesh_1_1_mesh_topology_1ac3f6120de88afcb765e8e2ce19931937" kindref="member">m_elementDomainIDs</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight></codeline>
|
||
|
|
<codeline lineno="118"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::vector<FaceElements><sp/><ref refid="classserif_1_1discretization_1_1domain_1_1mesh_1_1_mesh_topology_1a745b461eb35b7552fdc2e98ceec7e746" kindref="member">m_faceElements</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight></codeline>
|
||
|
|
<codeline lineno="119"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::vector<std::vector<int>><sp/><ref refid="classserif_1_1discretization_1_1domain_1_1mesh_1_1_mesh_topology_1a81425cbbcfcfa6a6b7c125d19d873459" kindref="member">m_elementNeighbors</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight></codeline>
|
||
|
|
<codeline lineno="120"><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="121"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::vector<int><sp/><ref refid="classserif_1_1discretization_1_1domain_1_1mesh_1_1_mesh_topology_1a3f64b3ff1420a400585369247089c438" kindref="member">m_boundaryElementBoundaryIDs</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight></codeline>
|
||
|
|
<codeline lineno="122"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::vector<int><sp/><ref refid="classserif_1_1discretization_1_1domain_1_1mesh_1_1_mesh_topology_1aac431a7035d5ac08901d44eb089e1538" kindref="member">m_boundaryElementFaceIDs</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight></codeline>
|
||
|
|
<codeline lineno="123"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::vector<std::vector<int>><sp/><ref refid="classserif_1_1discretization_1_1domain_1_1mesh_1_1_mesh_topology_1ae05d92b11c04f1098146f7b673f7d424" kindref="member">m_boundaryElementsByFace</ref>;<sp/><sp/><sp/><sp/><sp/><sp/></highlight></codeline>
|
||
|
|
<codeline lineno="124"><highlight class="normal"></highlight></codeline>
|
||
|
|
<codeline lineno="125"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>std::vector<int><sp/><ref refid="classserif_1_1discretization_1_1domain_1_1mesh_1_1_mesh_topology_1a6b1164b76ee6f2e6d386db8f9fb11f22" kindref="member">s_noElements</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight></codeline>
|
||
|
|
<codeline lineno="126"><highlight class="normal"><sp/><sp/><sp/><sp/>};</highlight></codeline>
|
||
|
|
<codeline lineno="127"><highlight class="normal">}</highlight></codeline>
|
||
|
|
</programlisting>
|
||
|
|
<location file="src/include/serif/discretization/domain/mesh/topology.hpp"/>
|
||
|
|
</compounddef>
|
||
|
|
</doxygen>
|