CeedElemRestriction

int CeedElemRestrictionGetType(CeedElemRestriction rstr, CeedRestrictionType *rstr_type)

Get the type of a CeedElemRestriction

Backend Developer Functions

Parameters:
  • rstr[in] CeedElemRestriction

  • rstr_type[out] Variable to store restriction type

Returns:

An error code: 0 - success, otherwise - failure

int CeedElemRestrictionIsStrided(CeedElemRestriction rstr, bool *is_strided)

Get the strided status of a CeedElemRestriction

Backend Developer Functions

Parameters:
  • rstr[in] CeedElemRestriction

  • is_strided[out] Variable to store strided status

Returns:

An error code: 0 - success, otherwise - failure

int CeedElemRestrictionIsPoints(CeedElemRestriction rstr, bool *is_points)

Get the points status of a CeedElemRestriction

Backend Developer Functions

Parameters:
  • rstr[in] CeedElemRestriction

  • is_points[out] Variable to store points status

Returns:

An error code: 0 - success, otherwise - failure

int CeedElemRestrictionAtPointsAreCompatible(CeedElemRestriction rstr_a, CeedElemRestriction rstr_b, bool *are_compatible)

Check if two CeedElemRestriction created with CeedElemRestrictionCreateAtPoints() and use the same points per element.

Backend Developer Functions

Parameters:
  • rstr_a[in] First CeedElemRestriction

  • rstr_b[in] Second CeedElemRestriction

  • are_compatible[out] Variable to store compatibility status

Returns:

An error code: 0 - success, otherwise - failure

int CeedElemRestrictionGetStrides(CeedElemRestriction rstr, CeedInt strides[3])

Get the strides of a strided CeedElemRestriction

Backend Developer Functions

Parameters:
  • rstr[in] CeedElemRestriction

  • strides[out] Variable to store strides array

Returns:

An error code: 0 - success, otherwise - failure

int CeedElemRestrictionHasBackendStrides(CeedElemRestriction rstr, bool *has_backend_strides)

Get the backend stride status of a CeedElemRestriction

Backend Developer Functions

Parameters:
  • rstr[in] CeedElemRestriction

  • has_backend_strides[out] Variable to store stride status

Returns:

An error code: 0 - success, otherwise - failure

int CeedElemRestrictionGetOffsets(CeedElemRestriction rstr, CeedMemType mem_type, const CeedInt **offsets)

Get read-only access to a CeedElemRestriction offsets array by CeedMemType.

User Functions

Parameters:
  • rstr[in] CeedElemRestriction to retrieve offsets

  • mem_type[in] Memory type on which to access the array. If the backend uses a different memory type, this will perform a copy (possibly cached).

  • offsets[out] Array on memory type mem_type

Returns:

An error code: 0 - success, otherwise - failure

int CeedElemRestrictionRestoreOffsets(CeedElemRestriction rstr, const CeedInt **offsets)

Restore an offsets array obtained using CeedElemRestrictionGetOffsets()

User Functions

Parameters:
  • rstr[in] CeedElemRestriction to restore

  • offsets[in] Array of offset data

Returns:

An error code: 0 - success, otherwise - failure

int CeedElemRestrictionGetOrientations(CeedElemRestriction rstr, CeedMemType mem_type, const bool **orients)

Get read-only access to a CeedElemRestriction orientations array by CeedMemType.

User Functions

Parameters:
  • rstr[in] CeedElemRestriction to retrieve orientations

  • mem_type[in] Memory type on which to access the array. If the backend uses a different memory type, this will perform a copy (possibly cached).

  • orients[out] Array on memory type mem_type

Returns:

An error code: 0 - success, otherwise - failure

int CeedElemRestrictionRestoreOrientations(CeedElemRestriction rstr, const bool **orients)

Restore an orientations array obtained using CeedElemRestrictionGetOrientations()

User Functions

Parameters:
  • rstr[in] CeedElemRestriction to restore

  • orients[in] Array of orientation data

Returns:

An error code: 0 - success, otherwise - failure

int CeedElemRestrictionGetCurlOrientations(CeedElemRestriction rstr, CeedMemType mem_type, const CeedInt8 **curl_orients)

Get read-only access to a CeedElemRestriction curl-conforming orientations array by CeedMemType.

User Functions

Parameters:
  • rstr[in] CeedElemRestriction to retrieve curl-conforming orientations

  • mem_type[in] Memory type on which to access the array. If the backend uses a different memory type, this will perform a copy (possibly cached).

  • curl_orients[out] Array on memory type mem_type

Returns:

An error code: 0 - success, otherwise - failure

int CeedElemRestrictionRestoreCurlOrientations(CeedElemRestriction rstr, const CeedInt8 **curl_orients)

Restore an orientations array obtained using CeedElemRestrictionGetCurlOrientations()

User Functions

Parameters:
  • rstr[in] CeedElemRestriction to restore

  • curl_orients[in] Array of orientation data

Returns:

An error code: 0 - success, otherwise - failure

int CeedElemRestrictionGetLLayout(CeedElemRestriction rstr, CeedInt layout[3])

Get the L-vector layout of a strided CeedElemRestriction

Backend Developer Functions

Parameters:
  • rstr[in] CeedElemRestriction

  • layout[out] Variable to store layout array, stored as [nodes, components, elements]. The data for node i, component j, element k in the E-vector is given by i*layout[0] + j*layout[1] + k*layout[2].

Returns:

An error code: 0 - success, otherwise - failure

int CeedElemRestrictionSetLLayout(CeedElemRestriction rstr, CeedInt layout[3])

Set the L-vector layout of a strided CeedElemRestriction

Backend Developer Functions

Parameters:
  • rstr[in] CeedElemRestriction

  • layout[in] Variable to containing layout array, stored as [nodes, components, elements]. The data for node i, component j, element k in the E-vector is given by i*layout[0] + j*layout[1] + k*layout[2].

Returns:

An error code: 0 - success, otherwise - failure

int CeedElemRestrictionGetELayout(CeedElemRestriction rstr, CeedInt layout[3])

Get the E-vector layout of a CeedElemRestriction

Backend Developer Functions

Parameters:
  • rstr[in] CeedElemRestriction

  • layout[out] Variable to store layout array, stored as [nodes, components, elements]. The data for node i, component j, element k in the E-vector is given by i*layout[0] + j*layout[1] + k*layout[2].

Returns:

An error code: 0 - success, otherwise - failure

int CeedElemRestrictionSetELayout(CeedElemRestriction rstr, CeedInt layout[3])

Set the E-vector layout of a CeedElemRestriction

Backend Developer Functions

Parameters:
  • rstr[in] CeedElemRestriction

  • layout[in] Variable to containing layout array, stored as [nodes, components, elements]. The data for node i, component j, element k in the E-vector is given by i*layout[0] + j*layout[1] + k*layout[2].

Returns:

An error code: 0 - success, otherwise - failure

int CeedElemRestrictionGetData(CeedElemRestriction rstr, void *data)

Get the backend data of a CeedElemRestriction

Backend Developer Functions

Parameters:
  • rstr[in] CeedElemRestriction

  • data[out] Variable to store data

Returns:

An error code: 0 - success, otherwise - failure

int CeedElemRestrictionSetData(CeedElemRestriction rstr, void *data)

Set the backend data of a CeedElemRestriction

Backend Developer Functions

Parameters:
  • rstr[inout] CeedElemRestriction

  • data[in] Data to set

Returns:

An error code: 0 - success, otherwise - failure

int CeedElemRestrictionReference(CeedElemRestriction rstr)

Increment the reference counter for a CeedElemRestriction

Backend Developer Functions

Parameters:
  • rstr[inout] CeedElemRestriction to increment the reference counter

Returns:

An error code: 0 - success, otherwise - failure

int CeedElemRestrictionGetFlopsEstimate(CeedElemRestriction rstr, CeedTransposeMode t_mode, CeedSize *flops)

Estimate number of FLOPs required to apply CeedElemRestriction in t_mode

Backend Developer Functions

Parameters:
  • rstr[in] CeedElemRestriction to estimate FLOPs for

  • t_mode[in] Apply restriction or transpose

  • flops[out] Address of variable to hold FLOPs estimate