SpECTRE Documentation Coverage Report
Current view: top level - Domain/Structure - CreateInitialMesh.hpp Hit Total Coverage
Commit: 2068747df712b64688243d3254666212942d85f2 Lines: 3 4 75.0 %
Date: 2026-05-22 23:35:16
Legend: Lines: hit not hit

          Line data    Source code
       1           0 : // Distributed under the MIT License.
       2             : // See LICENSE.txt for details.
       3             : 
       4             : #pragma once
       5             : 
       6             : #include <array>
       7             : #include <cstddef>
       8             : #include <cstdint>
       9             : #include <vector>
      10             : 
      11             : /// \cond
      12             : template <size_t Dim>
      13             : struct Block;
      14             : template <size_t Dim>
      15             : struct Element;
      16             : template <size_t Dim>
      17             : struct ElementId;
      18             : template <size_t Dim>
      19             : class Mesh;
      20             : namespace domain {
      21             : enum class Topology : uint8_t;
      22             : }  // namespace domain
      23             : namespace Spectral {
      24             : enum class Basis : uint8_t;
      25             : enum class Quadrature : uint8_t;
      26             : }  // namespace Spectral
      27             : /// \endcond
      28             : 
      29             : namespace domain {
      30             : /// \ingroup InitializationGroup
      31             : /// \brief Construct the initial Mesh of an Element.
      32             : ///
      33             : /// \param initial_extents initial extents for Elements in each Block of the
      34             : ///        Domain
      35             : /// \param element Element
      36             : /// \param i1_basis the Spectral::Basis used for dimensions with Topology::I1
      37             : /// \param i1_quadrature the Spectral::Quadrature for dimensions with
      38             : ///        Topology::I1
      39             : template <size_t Dim>
      40           1 : Mesh<Dim> create_initial_mesh(
      41             :     const std::vector<std::array<size_t, Dim>>& initial_extents,
      42             :     const Element<Dim>& element, Spectral::Basis i1_basis,
      43             :     Spectral::Quadrature i1_quadrature);
      44             : 
      45             : /// \ingroup InitializationGroup
      46             : /// \brief Construct the initial Mesh of an Element from its Block and
      47             : /// ElementId.
      48             : ///
      49             : /// \param initial_extents initial extents for Elements in each Block of the
      50             : ///        Domain
      51             : /// \param block the Block of the Element
      52             : /// \param element_id the ElementId of the Element
      53             : /// \param i1_basis the Spectral::Basis used for dimensions with Topology::I1
      54             : /// \param i1_quadrature the Spectral::Quadrature for dimensions with
      55             : ///        Topology::I1
      56             : template <size_t Dim>
      57           1 : Mesh<Dim> create_initial_mesh(
      58             :     const std::vector<std::array<size_t, Dim>>& initial_extents,
      59             :     const Block<Dim>& block, const ElementId<Dim>& element_id,
      60             :     Spectral::Basis i1_basis, Spectral::Quadrature i1_quadrature);
      61             : 
      62             : /// \ingroup InitializationGroup
      63             : /// \brief Create a new array of topologies to account for potential radial
      64             : /// refinement of Bn topologies.
      65             : ///
      66             : /// \param topologies initial topologies of the Element
      67             : /// \param element_id the ElementId of the Element
      68             : template <size_t Dim>
      69           1 : std::array<domain::Topology, Dim> refine_Bn_topology(
      70             :     const std::array<domain::Topology, Dim>& topologies,
      71             :     const ElementId<Dim>& element_id);
      72             : 
      73             : }  // namespace domain

Generated by: LCOV version 1.14