Skip to content

Commit e5f51a3

Browse files
committed
FDM can fix high-order SIDE_HIERARCIC for now
Working too slowly is better than not working.
1 parent 221fdf8 commit e5f51a3

2 files changed

Lines changed: 10 additions & 2 deletions

File tree

src/fe/fe_hierarchic_shape_3D.C

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1230,6 +1230,10 @@ Real FE<3,SIDE_HIERARCHIC>::shape_deriv(const Elem * elem,
12301230
{
12311231
case HEX27:
12321232
{
1233+
// I need to debug the p>2 case here...
1234+
if (totalorder > 2)
1235+
return fe_fdm_deriv(elem, order, i, j, p, add_p_level, FE<3,SIDE_HIERARCHIC>::shape);
1236+
12331237
const unsigned int dofs_per_side = (totalorder+1u)*(totalorder+1u);
12341238
libmesh_assert_less(i, 6*dofs_per_side);
12351239

@@ -1486,6 +1490,11 @@ Real FE<3,SIDE_HIERARCHIC>::shape_second_deriv(const Elem * elem,
14861490
{
14871491
case HEX27:
14881492
{
1493+
// I need to debug the p>2 case here...
1494+
if (totalorder > 2)
1495+
return fe_fdm_second_deriv(elem, order, i, j, p, add_p_level,
1496+
FE<3,SIDE_HIERARCHIC>::shape_deriv);
1497+
14891498
const unsigned int dofs_per_side = (totalorder+1u)*(totalorder+1u);
14901499
libmesh_assert_less(i, 6*dofs_per_side);
14911500

src/fe/fe_interface.C

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2676,8 +2676,7 @@ unsigned int FEInterface::max_order(const FEType & fe_t,
26762676
case HEX20:
26772677
return 0;
26782678
case HEX27:
2679-
return 2; // p=3+ is still buggy in 3D
2680-
// return unlimited;
2679+
return unlimited;
26812680
case PRISM6:
26822681
case PRISM15:
26832682
case PRISM18:

0 commit comments

Comments
 (0)