SpECTRE Documentation Coverage Report
Current view: top level - /__w/spectre/spectre/docs/DevGuide - DomainConcepts.md Coverage Total Hit
Commit: e0e661ac8bab4ef7058aaf4c60ad720bd26531af Lines: 0.0 % 1 0
Test Date: 2026-06-23 16:38:22
Legend: Lines:     hit not hit

            Line data    Source code
       1            0 : \cond NEVER
       2              : Distributed under the MIT License.
       3              : See LICENSE.txt for details.
       4              : \endcond
       5              : # Domain Concepts {#domain_concepts}
       6              : 
       7              : \tableofcontents
       8              : 
       9              : * Computational Domain:<br>
      10              :   The region of spacetime on which a numerical simulation is performed.
      11              : 
      12              : * Inertial Coordinate Frame:<br>
      13              :   A global coordinate frame covering the computational domain that is also the
      14              :   coordinate frame in which the initial (boundary) value problem that is being
      15              :   solved is specified.  Denoted by Frame::Inertial.
      16              : 
      17              : * Logical Coordinate Frame:<br> The coordinate frame of a reference
      18              :   cell.  In the cell the logical coordinates cover the interval
      19              :   \f$[-1, 1]\f$ in each dimension.  Currently the logical coordinates
      20              :   are Cartesian.
      21              : 
      22              : * CoordinateMap "Coordinate Map":<br>
      23              :   A mapping between two coordinate frames.  Coordinate maps are allowed to be
      24              :   time-dependent, as long as the time coordinate itself is unchanged.
      25              : 
      26              : * Direction:<br>
      27              :   A logical coordinate axis and a label "Upper" or "Lower" depending on whether
      28              :   the Direction is aligned with or anti-aligned with the logical coordinate
      29              :   axis, respectively.
      30              : 
      31              : * Block:<br>
      32              :   The computational domain is partitioned into a set of non-overlapping,
      33              :   distorted reference cells called Blocks. Each Block must have at most one
      34              :   neighboring Block in each Direction.  The reference cell is embedded into a
      35              :   subset of the computational domain using a Coordinate Map from the
      36              :   logical frame of the Block to the global inertial frame.  Blocks are
      37              :   identified by unique integral values.
      38              : 
      39              : * Block Logical Coordinate Frame:<br>
      40              :   The logical coordinate frame of a Block, denoted by Frame::BlockLogical.
      41              :   The only requirement upon the logical coordinate frames of neighboring Blocks
      42              :   is that they have the same Coordinate Map from their logical coordinate frame
      43              :   to the global inertial frame on their shared boundary up to a mapping that
      44              :   swaps or negates the logical coordinate axes.  In other words, at each point
      45              :   on their shared boundary, the logical coordinates of the two blocks are
      46              :   equal after possibly applying a permutation and sign flips.
      47              : 
      48              : * Grid Coordinate Frame:<br>
      49              :   For time-dependent coordinate maps, it is useful (e.g. for computational
      50              :   efficiency) to split the Coordinate Map from Frame::BlockLogical to
      51              :   Frame::Inertial into a composition of two maps.  This is done by introducing
      52              :   an intermediate coordinate frame (denoted by Frame::Grid) such that the
      53              :   mapping from Frame::BlockLogical to Frame::Grid is time-independent, and
      54              :   the mapping from Frame::Grid to Frame::Inertial is time-dependent.
      55              : 
      56              : * Orientation:<br>
      57              :   The information of how the Block Logical Coordinates of neighboring Blocks are
      58              :   related.
      59              : 
      60              : * \ref BlockNeighbors "Block Neighbors":<br>
      61              :   The identity and Orientation of neighboring Blocks of a given Block.
      62              : 
      63              : * Element:<br> A reference cell that is a refined subregion of a Block
      64              :   defined by its Segments in each dimension. The properties of the
      65              :   Element (e.g coordinate map) are inherited from its Block, i.e. it
      66              :   is self-similar to the Block.
      67              : 
      68              : * Refinement Level:<br>
      69              :   The number of times a Block is split in half in a given dimension.
      70              : 
      71              : * Segment:<br> In each dimension, the specific subset of the block
      72              :   logical coordinate interval \f$[-1, 1]\f$ defined by the Refinement
      73              :   Level and an integer label such that the Segment's interval is
      74              :   \f$[-1 + 2 \frac{i}{N}, -1 + 2 \frac{i+1}{N}]\f$ where \f$i\f$ is
      75              :   the integer label and \f$N = 2^{(\textrm{Refinement Level})}\f$ is
      76              :   the number of segments on the Refinement Level.
      77              : 
      78              : * Element Logical Coordinate Frame:<br>
      79              :   The logical coordinate frame of an Element.  In each dimension, the Element
      80              :   Logical Coordinates are related to the Block Logical Coordinates by an affine
      81              :   mapping of the interval \f$[-1, 1]\f$ to the interval covered by the Segment
      82              :   in that dimension.
      83              : 
      84              : * \ref SegmentId "Segment Identifier":<br>
      85              :   The Refinement Level and an integer labeling a Segment.
      86              : 
      87              : * \ref ElementId "Element Identifier":<br>
      88              :   The Block Identifier containing the Element and a Segment Identifier
      89              :   in each dimension.
      90              : 
      91              : * External Boundary:<br>
      92              :   A face of a Block or Element that has no neighbor.
      93              : 
      94              : * Internal Boundary:<br>
      95              :   A boundary that is not an External Boundary.
      96              : 
      97              : * Neighbors:<br>
      98              :   The identities and Orientation of the neighboring Blocks or Elements of a
      99              :   given Block or Element in a particular Direction .
     100              : 
     101              : * External Boundary Condition:<br>
     102              :   A prescription for updating the solution on an External Boundary. Each
     103              :   External Boundary of a Block has exactly one External Boundary Condition
     104              :   associated with it.
        

Generated by: LCOV version 2.4-0