hexed 0.3.0
 
Loading...
Searching...
No Matches
hexed::Row_index Class Reference

Facilitates the process of iterating through all rows along a particular dimension. More...

#include <Row_index.hpp>

Public Member Functions

constexpr Row_index (int nd, int rs, int id)
 
constexpr void operator++ ()
 advances object to the next row
 
constexpr operator bool () const
 returns true if object is pointing to a valid row and false if it is pointing past the last row
 
constexpr int i_face_qpoint () const
 returns the index of the row (or equivalently the face quadrature point) the object is pointing to
 
constexpr int i_qpoint (int i_node) const
 returns the index (with respect to the entire quadrature point array) of the i_nodeth quadrature point in the current row
 
constexpr int i_node (int i_qpoint) const
 returns the index of a quadrature point in its own row, i.e. which Basis::node it is
 

Public Attributes

const int n_dim
 
const int row_size
 
const int i_dim
 
const int n_qpoint
 how many total quadrature points an element has
 
const int n_fqpoint
 how many quadrature points the face of an element has
 
const int stride
 the stride required to step through the row
 

Detailed Description

Facilitates the process of iterating through all rows along a particular dimension.

This is essential in the local kernel where a row_size[xrow_size[xrow_size]] array of flux values must be multipled by the derivative matrix row-wise along every dimension.

Constructor & Destructor Documentation

◆ Row_index()

hexed::Row_index::Row_index ( int nd,
int rs,
int id )
inlineconstexpr

constructs a Row_index in nd dimensions, with row size rs, and applicable to rows in the idth dimension. Object is initialized to point to the first row.

Member Function Documentation

◆ i_node()

int hexed::Row_index::i_node ( int i_qpoint) const
inlineconstexpr

returns the index of a quadrature point in its own row, i.e. which Basis::node it is

always gives the same value regardless of which i_face_qpoint() this object is pointing to


The documentation for this class was generated from the following file: