Skip to content

Commit

Permalink
Deploying to main from @ AMReX-Codes/amrex@08eed95 🚀
Browse files Browse the repository at this point in the history
  • Loading branch information
WeiqunZhang committed Sep 5, 2024
1 parent dd195b1 commit bb81e9e
Show file tree
Hide file tree
Showing 9 changed files with 1,534 additions and 1,501 deletions.
15 changes: 15 additions & 0 deletions amrex/docs_html/EB.html
Original file line number Diff line number Diff line change
Expand Up @@ -331,6 +331,12 @@ <h1>Embedded Boundary Data<a class="headerlink" href="#embedded-boundary-data" t
<span class="c1">// embedded boundary centroid</span>
<span class="k">const</span><span class="w"> </span><span class="n">MultiCutFab</span><span class="o">&amp;</span><span class="w"> </span><span class="nf">getBndryCent</span><span class="w"> </span><span class="p">()</span><span class="w"> </span><span class="k">const</span><span class="p">;</span><span class="w"></span>

<span class="c1">// embedded boundary normal direction</span>
<span class="k">const</span><span class="w"> </span><span class="n">MultiCutFab</span><span class="o">&amp;</span><span class="w"> </span><span class="nf">getBndryNormal</span><span class="w"> </span><span class="p">()</span><span class="w"> </span><span class="k">const</span><span class="p">;</span><span class="w"></span>

<span class="c1">// embedded boundary surface area</span>
<span class="k">const</span><span class="w"> </span><span class="n">MultiCutFab</span><span class="o">&amp;</span><span class="w"> </span><span class="nf">getBndryArea</span><span class="w"> </span><span class="p">()</span><span class="w"> </span><span class="k">const</span><span class="p">;</span><span class="w"></span>

<span class="c1">// area fractions</span>
<span class="n">Array</span><span class="o">&lt;</span><span class="k">const</span><span class="w"> </span><span class="n">MultiCutFab</span><span class="o">*</span><span class="p">,</span><span class="n">AMREX_SPACEDIM</span><span class="o">&gt;</span><span class="w"> </span><span class="n">getAreaFrac</span><span class="w"> </span><span class="p">()</span><span class="w"> </span><span class="k">const</span><span class="p">;</span><span class="w"></span>

Expand All @@ -350,6 +356,15 @@ <h1>Embedded Boundary Data<a class="headerlink" href="#embedded-boundary-data" t
<code class="docutils literal notranslate"><span class="pre">AMREX_SPACEDIM</span></code> components. Each component
of the data is in the range of <span class="math notranslate nohighlight">\([-0.5,0.5]\)</span>, based on each
cell’s local coordinates with respect to the regular cell’s center.</p></li>
<li><p><strong>Boundary normal</strong> is in a <code class="code highlight cpp c++ docutils literal highlight-c++"><span class="n">MultiCutFab</span><span class="w"></span></code> with <code class="docutils literal notranslate"><span class="pre">AMREX_SPACEDIM</span></code>
components representing the unit vector pointing toward the covered part.</p></li>
<li><p><strong>Boundary area</strong> is in a <code class="code highlight cpp c++ docutils literal highlight-c++"><span class="n">MultiCutFab</span><span class="w"></span></code> with a single component
representing the dimensionless boundary area. When the cell is isotropic
(i.e., <span class="math notranslate nohighlight">\(\Delta x = \Delta y = \Delta z\)</span>), it’s trivial to convert it
to physical units. If the cell size is anisotropic, the conversion
requires multiplying by a factor of <span class="math notranslate nohighlight">\(\sqrt{(n_x \Delta y \Delta
z)^2 + (n_y \Delta x \Delta z)^2 + (n_z \Delta x \Delta y)^2}\)</span>, where
<span class="math notranslate nohighlight">\(n\)</span> is the boundary normal vector.</p></li>
<li><p><strong>Face centroid</strong> is in a <code class="code highlight cpp c++ docutils literal highlight-c++"><span class="n">MultiCutFab</span><span class="w"></span></code> with <code class="docutils literal notranslate"><span class="pre">AMREX_SPACEDIM</span></code> components.
Each component of the data is in the range of <span class="math notranslate nohighlight">\([-0.5,0.5]\)</span>, based on
each cell’s local coordinates with respect to the embedded boundary.</p></li>
Expand Down
Binary file not shown.
17 changes: 17 additions & 0 deletions amrex/docs_html/_sources/EB.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -271,6 +271,12 @@ following data:
// embedded boundary centroid
const MultiCutFab& getBndryCent () const;

// embedded boundary normal direction
const MultiCutFab& getBndryNormal () const;

// embedded boundary surface area
const MultiCutFab& getBndryArea () const;

// area fractions
Array<const MultiCutFab*,AMREX_SPACEDIM> getAreaFrac () const;

Expand All @@ -291,6 +297,17 @@ following data:
of the data is in the range of :math:`[-0.5,0.5]`, based on each
cell's local coordinates with respect to the regular cell's center.

- **Boundary normal** is in a :cpp:`MultiCutFab` with ``AMREX_SPACEDIM``
components representing the unit vector pointing toward the covered part.

- **Boundary area** is in a :cpp:`MultiCutFab` with a single component
representing the dimensionless boundary area. When the cell is isotropic
(i.e., :math:`\Delta x = \Delta y = \Delta z`), it's trivial to convert it
to physical units. If the cell size is anisotropic, the conversion
requires multiplying by a factor of :math:`\sqrt{(n_x \Delta y \Delta
z)^2 + (n_y \Delta x \Delta z)^2 + (n_z \Delta x \Delta y)^2}`, where
:math:`n` is the boundary normal vector.

- **Face centroid** is in a :cpp:`MultiCutFab` with ``AMREX_SPACEDIM`` components.
Each component of the data is in the range of :math:`[-0.5,0.5]`, based on
each cell's local coordinates with respect to the embedded boundary.
Expand Down
6 changes: 3 additions & 3 deletions amrex/docs_html/doxygen/AMReX__EB2__C_8H_source.html
Original file line number Diff line number Diff line change
Expand Up @@ -201,10 +201,10 @@
<div class="ttc" id="aAMReX__Geometry_8H_html"><div class="ttname"><a href="AMReX__Geometry_8H.html">AMReX_Geometry.H</a></div></div>
<div class="ttc" id="aAMReX__SPACE_8H_html_af5ea8082b66e48cdbea53d08cdfca9a0"><div class="ttname"><a href="AMReX__SPACE_8H.html#af5ea8082b66e48cdbea53d08cdfca9a0">AMREX_D_DECL</a></div><div class="ttdeci">#define AMREX_D_DECL(a, b, c)</div><div class="ttdef"><b>Definition:</b> AMReX_SPACE.H:104</div></div>
<div class="ttc" id="anamespaceamrex_1_1EB2_html"><div class="ttname"><a href="namespaceamrex_1_1EB2.html">amrex::EB2</a></div><div class="ttdef"><b>Definition:</b> AMReX_FabArrayBase.H:32</div></div>
<div class="ttc" id="anamespaceamrex_1_1EB2_html_a82d4783a176cefd7ff69a7d61215a8c9"><div class="ttname"><a href="namespaceamrex_1_1EB2.html#a82d4783a176cefd7ff69a7d61215a8c9">amrex::EB2::set_connection_flags</a></div><div class="ttdeci">void set_connection_flags(Box const &amp;bxg1, Array4&lt; EBCellFlag &gt; const &amp;cell, Array4&lt; Type_t &gt; const &amp;fx, Array4&lt; Type_t &gt; const &amp;fy) noexcept</div><div class="ttdef"><b>Definition:</b> AMReX_EB2_2D_C.cpp:456</div></div>
<div class="ttc" id="anamespaceamrex_1_1EB2_html_a8791492ceba31d5d14372a20721e3695"><div class="ttname"><a href="namespaceamrex_1_1EB2.html#a8791492ceba31d5d14372a20721e3695">amrex::EB2::build_faces</a></div><div class="ttdeci">int build_faces(Box const &amp;bx, Array4&lt; EBCellFlag &gt; const &amp;cell, Array4&lt; Type_t &gt; const &amp;fx, Array4&lt; Type_t &gt; const &amp;fy, Array4&lt; Real &gt; const &amp;levset, Array4&lt; Real const &gt; const &amp;interx, Array4&lt; Real const &gt; const &amp;intery, Array4&lt; Real &gt; const &amp;apx, Array4&lt; Real &gt; const &amp;apy, Array4&lt; Real &gt; const &amp;fcx, Array4&lt; Real &gt; const &amp;fcy, GpuArray&lt; Real, AMREX_SPACEDIM &gt; const &amp;dx, GpuArray&lt; Real, AMREX_SPACEDIM &gt; const &amp;problo, bool cover_multiple_cuts, int &amp;nsmallfaces) noexcept</div><div class="ttdef"><b>Definition:</b> AMReX_EB2_2D_C.cpp:199</div></div>
<div class="ttc" id="anamespaceamrex_1_1EB2_html_a82d4783a176cefd7ff69a7d61215a8c9"><div class="ttname"><a href="namespaceamrex_1_1EB2.html#a82d4783a176cefd7ff69a7d61215a8c9">amrex::EB2::set_connection_flags</a></div><div class="ttdeci">void set_connection_flags(Box const &amp;bxg1, Array4&lt; EBCellFlag &gt; const &amp;cell, Array4&lt; Type_t &gt; const &amp;fx, Array4&lt; Type_t &gt; const &amp;fy) noexcept</div><div class="ttdef"><b>Definition:</b> AMReX_EB2_2D_C.cpp:455</div></div>
<div class="ttc" id="anamespaceamrex_1_1EB2_html_a8791492ceba31d5d14372a20721e3695"><div class="ttname"><a href="namespaceamrex_1_1EB2.html#a8791492ceba31d5d14372a20721e3695">amrex::EB2::build_faces</a></div><div class="ttdeci">int build_faces(Box const &amp;bx, Array4&lt; EBCellFlag &gt; const &amp;cell, Array4&lt; Type_t &gt; const &amp;fx, Array4&lt; Type_t &gt; const &amp;fy, Array4&lt; Real &gt; const &amp;levset, Array4&lt; Real const &gt; const &amp;interx, Array4&lt; Real const &gt; const &amp;intery, Array4&lt; Real &gt; const &amp;apx, Array4&lt; Real &gt; const &amp;apy, Array4&lt; Real &gt; const &amp;fcx, Array4&lt; Real &gt; const &amp;fcy, GpuArray&lt; Real, AMREX_SPACEDIM &gt; const &amp;dx, GpuArray&lt; Real, AMREX_SPACEDIM &gt; const &amp;problo, bool cover_multiple_cuts, int &amp;nsmallfaces) noexcept</div><div class="ttdef"><b>Definition:</b> AMReX_EB2_2D_C.cpp:198</div></div>
<div class="ttc" id="anamespaceamrex_1_1EB2_html_a900c8b65fe13dca2d107ec8ae396b7b7"><div class="ttname"><a href="namespaceamrex_1_1EB2.html#a900c8b65fe13dca2d107ec8ae396b7b7">amrex::EB2::extend_domain_face</a></div><div class="ttdeci">AMREX_EXPORT bool extend_domain_face</div><div class="ttdef"><b>Definition:</b> AMReX_EB2.cpp:24</div></div>
<div class="ttc" id="anamespaceamrex_1_1EB2_html_ab93166de851db0edebb5ae2569b88cc1"><div class="ttname"><a href="namespaceamrex_1_1EB2.html#ab93166de851db0edebb5ae2569b88cc1">amrex::EB2::build_cells</a></div><div class="ttdeci">void build_cells(Box const &amp;bx, Array4&lt; EBCellFlag &gt; const &amp;cell, Array4&lt; Type_t &gt; const &amp;fx, Array4&lt; Type_t &gt; const &amp;fy, Array4&lt; Real &gt; const &amp;apx, Array4&lt; Real &gt; const &amp;apy, GpuArray&lt; Real, AMREX_SPACEDIM &gt; const &amp;dx, Array4&lt; Real &gt; const &amp;vfrac, Array4&lt; Real &gt; const &amp;vcent, Array4&lt; Real &gt; const &amp;barea, Array4&lt; Real &gt; const &amp;bcent, Array4&lt; Real &gt; const &amp;bnorm, Array4&lt; Real &gt; const &amp;levset, Real small_volfrac, Geometry const &amp;geom, bool extend_domain_face, int &amp;nsmallcells, int const nmulticuts) noexcept</div><div class="ttdef"><b>Definition:</b> AMReX_EB2_2D_C.cpp:352</div></div>
<div class="ttc" id="anamespaceamrex_1_1EB2_html_ab93166de851db0edebb5ae2569b88cc1"><div class="ttname"><a href="namespaceamrex_1_1EB2.html#ab93166de851db0edebb5ae2569b88cc1">amrex::EB2::build_cells</a></div><div class="ttdeci">void build_cells(Box const &amp;bx, Array4&lt; EBCellFlag &gt; const &amp;cell, Array4&lt; Type_t &gt; const &amp;fx, Array4&lt; Type_t &gt; const &amp;fy, Array4&lt; Real &gt; const &amp;apx, Array4&lt; Real &gt; const &amp;apy, GpuArray&lt; Real, AMREX_SPACEDIM &gt; const &amp;dx, Array4&lt; Real &gt; const &amp;vfrac, Array4&lt; Real &gt; const &amp;vcent, Array4&lt; Real &gt; const &amp;barea, Array4&lt; Real &gt; const &amp;bcent, Array4&lt; Real &gt; const &amp;bnorm, Array4&lt; Real &gt; const &amp;levset, Real small_volfrac, Geometry const &amp;geom, bool extend_domain_face, int &amp;nsmallcells, int const nmulticuts) noexcept</div><div class="ttdef"><b>Definition:</b> AMReX_EB2_2D_C.cpp:351</div></div>
<div class="ttc" id="anamespaceamrex_1_1EB2_html_ae800250c2c38174f8c7e09534afa8f72"><div class="ttname"><a href="namespaceamrex_1_1EB2.html#ae800250c2c38174f8c7e09534afa8f72">amrex::EB2::intercept_to_edge_centroid</a></div><div class="ttdeci">void intercept_to_edge_centroid(AMREX_D_DECL(Array4&lt; Real &gt; const &amp;excent, Array4&lt; Real &gt; const &amp;eycent, Array4&lt; Real &gt; const &amp;ezcent), AMREX_D_DECL(Array4&lt; Type_t const &gt; const &amp;fx, Array4&lt; Type_t const &gt; const &amp;fy, Array4&lt; Type_t const &gt; const &amp;fz), Array4&lt; Real const &gt; const &amp;levset, GpuArray&lt; Real, AMREX_SPACEDIM &gt; const &amp;dx, GpuArray&lt; Real, AMREX_SPACEDIM &gt; const &amp;problo) noexcept</div><div class="ttdef"><b>Definition:</b> AMReX_EB2_ND_C.cpp:5</div></div>
<div class="ttc" id="anamespaceamrex_html_a222089e49ba211b37cf7a4a8ae7eb186"><div class="ttname"><a href="namespaceamrex.html#a222089e49ba211b37cf7a4a8ae7eb186">amrex::Box</a></div><div class="ttdeci">BoxND&lt; AMREX_SPACEDIM &gt; Box</div><div class="ttdef"><b>Definition:</b> AMReX_BaseFwd.H:27</div></div>
</div><!-- fragment --></div><!-- contents -->
Expand Down
4 changes: 2 additions & 2 deletions amrex/docs_html/doxygen/AMReX__EB2__Level_8H_source.html
Original file line number Diff line number Diff line change
Expand Up @@ -798,9 +798,9 @@
<div class="ttc" id="aclassamrex_1_1iMultiFab_html"><div class="ttname"><a href="classamrex_1_1iMultiFab.html">amrex::iMultiFab</a></div><div class="ttdef"><b>Definition:</b> AMReX_iMultiFab.H:32</div></div>
<div class="ttc" id="anamespaceamrex_1_1EB2_html"><div class="ttname"><a href="namespaceamrex_1_1EB2.html">amrex::EB2</a></div><div class="ttdef"><b>Definition:</b> AMReX_FabArrayBase.H:32</div></div>
<div class="ttc" id="anamespaceamrex_1_1EB2_html_a0e86c3c8bf9f242ddba11fbe8db60e66"><div class="ttname"><a href="namespaceamrex_1_1EB2.html#a0e86c3c8bf9f242ddba11fbe8db60e66">amrex::EB2::max_grid_size</a></div><div class="ttdeci">AMREX_EXPORT int max_grid_size</div><div class="ttdef"><b>Definition:</b> AMReX_EB2.cpp:23</div></div>
<div class="ttc" id="anamespaceamrex_1_1EB2_html_a8791492ceba31d5d14372a20721e3695"><div class="ttname"><a href="namespaceamrex_1_1EB2.html#a8791492ceba31d5d14372a20721e3695">amrex::EB2::build_faces</a></div><div class="ttdeci">int build_faces(Box const &amp;bx, Array4&lt; EBCellFlag &gt; const &amp;cell, Array4&lt; Type_t &gt; const &amp;fx, Array4&lt; Type_t &gt; const &amp;fy, Array4&lt; Real &gt; const &amp;levset, Array4&lt; Real const &gt; const &amp;interx, Array4&lt; Real const &gt; const &amp;intery, Array4&lt; Real &gt; const &amp;apx, Array4&lt; Real &gt; const &amp;apy, Array4&lt; Real &gt; const &amp;fcx, Array4&lt; Real &gt; const &amp;fcy, GpuArray&lt; Real, AMREX_SPACEDIM &gt; const &amp;dx, GpuArray&lt; Real, AMREX_SPACEDIM &gt; const &amp;problo, bool cover_multiple_cuts, int &amp;nsmallfaces) noexcept</div><div class="ttdef"><b>Definition:</b> AMReX_EB2_2D_C.cpp:199</div></div>
<div class="ttc" id="anamespaceamrex_1_1EB2_html_a8791492ceba31d5d14372a20721e3695"><div class="ttname"><a href="namespaceamrex_1_1EB2.html#a8791492ceba31d5d14372a20721e3695">amrex::EB2::build_faces</a></div><div class="ttdeci">int build_faces(Box const &amp;bx, Array4&lt; EBCellFlag &gt; const &amp;cell, Array4&lt; Type_t &gt; const &amp;fx, Array4&lt; Type_t &gt; const &amp;fy, Array4&lt; Real &gt; const &amp;levset, Array4&lt; Real const &gt; const &amp;interx, Array4&lt; Real const &gt; const &amp;intery, Array4&lt; Real &gt; const &amp;apx, Array4&lt; Real &gt; const &amp;apy, Array4&lt; Real &gt; const &amp;fcx, Array4&lt; Real &gt; const &amp;fcy, GpuArray&lt; Real, AMREX_SPACEDIM &gt; const &amp;dx, GpuArray&lt; Real, AMREX_SPACEDIM &gt; const &amp;problo, bool cover_multiple_cuts, int &amp;nsmallfaces) noexcept</div><div class="ttdef"><b>Definition:</b> AMReX_EB2_2D_C.cpp:198</div></div>
<div class="ttc" id="anamespaceamrex_1_1EB2_html_a900c8b65fe13dca2d107ec8ae396b7b7"><div class="ttname"><a href="namespaceamrex_1_1EB2.html#a900c8b65fe13dca2d107ec8ae396b7b7">amrex::EB2::extend_domain_face</a></div><div class="ttdeci">AMREX_EXPORT bool extend_domain_face</div><div class="ttdef"><b>Definition:</b> AMReX_EB2.cpp:24</div></div>
<div class="ttc" id="anamespaceamrex_1_1EB2_html_ab93166de851db0edebb5ae2569b88cc1"><div class="ttname"><a href="namespaceamrex_1_1EB2.html#ab93166de851db0edebb5ae2569b88cc1">amrex::EB2::build_cells</a></div><div class="ttdeci">void build_cells(Box const &amp;bx, Array4&lt; EBCellFlag &gt; const &amp;cell, Array4&lt; Type_t &gt; const &amp;fx, Array4&lt; Type_t &gt; const &amp;fy, Array4&lt; Real &gt; const &amp;apx, Array4&lt; Real &gt; const &amp;apy, GpuArray&lt; Real, AMREX_SPACEDIM &gt; const &amp;dx, Array4&lt; Real &gt; const &amp;vfrac, Array4&lt; Real &gt; const &amp;vcent, Array4&lt; Real &gt; const &amp;barea, Array4&lt; Real &gt; const &amp;bcent, Array4&lt; Real &gt; const &amp;bnorm, Array4&lt; Real &gt; const &amp;levset, Real small_volfrac, Geometry const &amp;geom, bool extend_domain_face, int &amp;nsmallcells, int const nmulticuts) noexcept</div><div class="ttdef"><b>Definition:</b> AMReX_EB2_2D_C.cpp:352</div></div>
<div class="ttc" id="anamespaceamrex_1_1EB2_html_ab93166de851db0edebb5ae2569b88cc1"><div class="ttname"><a href="namespaceamrex_1_1EB2.html#ab93166de851db0edebb5ae2569b88cc1">amrex::EB2::build_cells</a></div><div class="ttdeci">void build_cells(Box const &amp;bx, Array4&lt; EBCellFlag &gt; const &amp;cell, Array4&lt; Type_t &gt; const &amp;fx, Array4&lt; Type_t &gt; const &amp;fy, Array4&lt; Real &gt; const &amp;apx, Array4&lt; Real &gt; const &amp;apy, GpuArray&lt; Real, AMREX_SPACEDIM &gt; const &amp;dx, Array4&lt; Real &gt; const &amp;vfrac, Array4&lt; Real &gt; const &amp;vcent, Array4&lt; Real &gt; const &amp;barea, Array4&lt; Real &gt; const &amp;bcent, Array4&lt; Real &gt; const &amp;bnorm, Array4&lt; Real &gt; const &amp;levset, Real small_volfrac, Geometry const &amp;geom, bool extend_domain_face, int &amp;nsmallcells, int const nmulticuts) noexcept</div><div class="ttdef"><b>Definition:</b> AMReX_EB2_2D_C.cpp:351</div></div>
<div class="ttc" id="anamespaceamrex_1_1EB2_html_ae800250c2c38174f8c7e09534afa8f72"><div class="ttname"><a href="namespaceamrex_1_1EB2.html#ae800250c2c38174f8c7e09534afa8f72">amrex::EB2::intercept_to_edge_centroid</a></div><div class="ttdeci">void intercept_to_edge_centroid(AMREX_D_DECL(Array4&lt; Real &gt; const &amp;excent, Array4&lt; Real &gt; const &amp;eycent, Array4&lt; Real &gt; const &amp;ezcent), AMREX_D_DECL(Array4&lt; Type_t const &gt; const &amp;fx, Array4&lt; Type_t const &gt; const &amp;fy, Array4&lt; Type_t const &gt; const &amp;fz), Array4&lt; Real const &gt; const &amp;levset, GpuArray&lt; Real, AMREX_SPACEDIM &gt; const &amp;dx, GpuArray&lt; Real, AMREX_SPACEDIM &gt; const &amp;problo) noexcept</div><div class="ttdef"><b>Definition:</b> AMReX_EB2_ND_C.cpp:5</div></div>
<div class="ttc" id="anamespaceamrex_1_1Gpu_html_a67a618504ee5fb94bd65a5d393e344b4"><div class="ttname"><a href="namespaceamrex_1_1Gpu.html#a67a618504ee5fb94bd65a5d393e344b4">amrex::Gpu::streamSynchronize</a></div><div class="ttdeci">void streamSynchronize() noexcept</div><div class="ttdef"><b>Definition:</b> AMReX_GpuDevice.H:237</div></div>
<div class="ttc" id="anamespaceamrex_1_1Gpu_html_a7a05369cacb826ba5546b4dd507c49dd"><div class="ttname"><a href="namespaceamrex_1_1Gpu.html#a7a05369cacb826ba5546b4dd507c49dd">amrex::Gpu::inLaunchRegion</a></div><div class="ttdeci">bool inLaunchRegion() noexcept</div><div class="ttdef"><b>Definition:</b> AMReX_GpuControl.H:86</div></div>
Expand Down
2 changes: 1 addition & 1 deletion amrex/docs_html/searchindex.js

Large diffs are not rendered by default.

Loading

0 comments on commit bb81e9e

Please sign in to comment.