CeedElemRestriction

int CeedPermutePadOffsets(const CeedInt *offsets, CeedInt *block_offsets, CeedInt num_block, CeedInt num_elem, CeedInt block_size, CeedInt elem_size)

Permute and pad offsets for a blocked CeedElemRestriction

Utility Functions

Parameters:
  • offsets[in] Array of shape [num_elem, elem_size]

  • block_offsets[out] Array of permuted and padded array values of shape [num_block, elem_size, block_size]

  • num_block[in] Number of blocks

  • num_elem[in] Number of elements

  • block_size[in] Number of elements in a block

  • elem_size[in] Size of each element

Returns:

An error code: 0 - success, otherwise - failure

int CeedPermutePadOrients(const bool *orients, bool *block_orients, CeedInt num_block, CeedInt num_elem, CeedInt block_size, CeedInt elem_size)

Permute and pad orientations for a blocked CeedElemRestriction

Utility Functions

Parameters:
  • orients[in] Array of shape [num_elem, elem_size]

  • block_orients[out] Array of permuted and padded array values of shape [num_block, elem_size, block_size]

  • num_block[in] Number of blocks

  • num_elem[in] Number of elements

  • block_size[in] Number of elements in a block

  • elem_size[in] Size of each element

Returns:

An error code: 0 - success, otherwise - failure

int CeedPermutePadCurlOrients(const CeedInt8 *curl_orients, CeedInt8 *block_curl_orients, CeedInt num_block, CeedInt num_elem, CeedInt block_size, CeedInt elem_size)

Permute and pad curl-conforming orientations for a blocked CeedElemRestriction

Utility Functions

Parameters:
  • curl_orients[in] Array of shape [num_elem, elem_size]

  • block_curl_orients[out] Array of permuted and padded array values of shape [num_block, elem_size, block_size]

  • num_block[in] Number of blocks

  • num_elem[in] Number of elements

  • block_size[in] Number of elements in a block

  • elem_size[in] Size of each element

Returns:

An error code: 0 - success, otherwise - failure