Skip to content

Commit f32835d

Browse files
committed
fix(ref atpoints) - Fix ref assembly at-points to properly handle empty elements
1 parent 1052452 commit f32835d

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

backends/ref/ceed-ref-operator.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1208,6 +1208,7 @@ static inline int CeedOperatorLinearAssembleQFunctionAtPointsCore_Ref(CeedOperat
12081208
// Setup points for element
12091209
CeedCallBackend(CeedElemRestrictionApplyAtPointsInElement(rstr_points, e, CEED_NOTRANSPOSE, point_coords, impl->point_coords_elem, request));
12101210
CeedCallBackend(CeedElemRestrictionGetNumPointsInElement(rstr_points, e, &num_points));
1211+
if (num_points < 1) continue;
12111212

12121213
// Input basis apply
12131214
CeedCallBackend(CeedOperatorInputBasisAtPoints_Ref(e, num_points_offset, num_points, qf_input_fields, op_input_fields, num_input_fields, NULL,
@@ -1391,6 +1392,7 @@ static int CeedOperatorLinearAssembleAddDiagonalAtPoints_Ref(CeedOperator op, Ce
13911392
// Setup points for element
13921393
CeedCallBackend(CeedElemRestrictionApplyAtPointsInElement(rstr_points, e, CEED_NOTRANSPOSE, point_coords, impl->point_coords_elem, request));
13931394
CeedCallBackend(CeedElemRestrictionGetNumPointsInElement(rstr_points, e, &num_points));
1395+
if (num_points < 1) continue;
13941396

13951397
// Input basis apply for non-active bases
13961398
CeedCallBackend(CeedOperatorInputBasisAtPoints_Ref(e, num_points_offset, num_points, qf_input_fields, op_input_fields, num_input_fields, in_vec,
@@ -1597,6 +1599,7 @@ static int CeedOperatorAssembleSingleAtPoints_Ref(CeedOperator op, CeedInt offse
15971599
CeedCallBackend(CeedElemRestrictionApplyAtPointsInElement(rstr_points, e, CEED_NOTRANSPOSE, point_coords, impl->point_coords_elem,
15981600
CEED_REQUEST_IMMEDIATE));
15991601
CeedCallBackend(CeedElemRestrictionGetNumPointsInElement(rstr_points, e, &num_points));
1602+
if (num_points < 1) continue;
16001603

16011604
// Input basis apply for non-active bases
16021605
CeedCallBackend(CeedOperatorInputBasisAtPoints_Ref(e, num_points_offset, num_points, qf_input_fields, op_input_fields, num_input_fields, in_vec,

0 commit comments

Comments
 (0)