@@ -114,14 +114,18 @@ public:
114114#endif // !LIBMESH_USE_COMPLEX_NUMBERS
115115
116116 CPPUNIT_TEST ( testExodusWriteAddedSidesEdgeC0 );
117+ CPPUNIT_TEST ( testExodusWriteAddedSidesMixedEdgeC0 );
117118 // CPPUNIT_TEST( testExodusWriteAddedSidesEdgeDisc ); // need is_on_face fixes
118119 CPPUNIT_TEST ( testExodusWriteAddedSidesTriC0 );
120+ CPPUNIT_TEST ( testExodusWriteAddedSidesMixedTriC0 );
119121 // CPPUNIT_TEST( testExodusWriteAddedSidesTriDisc ); // Need aligned faces
120122 CPPUNIT_TEST ( testExodusWriteAddedSidesQuadC0 );
123+ CPPUNIT_TEST ( testExodusWriteAddedSidesMixedQuadC0 );
121124 // CPPUNIT_TEST( testExodusWriteAddedSidesQuadDisc ); // need is_on_face fixes
122125 // CPPUNIT_TEST( testExodusWriteAddedSidesTetC0 ); // BROKEN!?! WHY!?!
123126 // CPPUNIT_TEST( testExodusWriteAddedSidesTetDisc );
124127 CPPUNIT_TEST ( testExodusWriteAddedSidesHexC0 );
128+ CPPUNIT_TEST ( testExodusWriteAddedSidesMixedHexC0 );
125129 CPPUNIT_TEST ( testExodusWriteAddedSidesHexDisc );
126130
127131 CPPUNIT_TEST ( testExodusFileMappingsPlateWithHole );
@@ -748,7 +752,9 @@ public:
748752 (Number (* exact_sol )(const Point & , const Parameters & , const
749753 std ::string & , const std ::string & ),
750754 const ElemType elem_type ,
751- const Order order )
755+ const Order order ,
756+ const std ::vector < FEType > earlier_vars = {},
757+ const std ::vector < FEType > later_vars = {})
752758 {
753759 constexpr unsigned int nx = added_sides_nxyz [0 ],
754760 ny = added_sides_nxyz [1 ],
@@ -770,8 +776,16 @@ public:
770776
771777 EquationSystems es (mesh );
772778 System & sys = es .add_system < System > ("SimpleSystem" );
779+ int varnum = 1 ;
780+ for (auto vartype : earlier_vars )
781+ sys .add_variable ("earlier_" + std ::to_string (varnum ++ ), vartype );
782+
773783 sys .add_variable ("u" , order , SIDE_HIERARCHIC );
774784
785+ varnum = 1 ;
786+ for (auto vartype : later_vars )
787+ sys .add_variable ("later_" + std ::to_string (varnum ++ ), vartype );
788+
775789 if (dim == 3 )
776790 MeshTools ::Generation ::build_cube
777791 (mesh , nx , ny , nz , 0. , 1. , 0. , 1. , 0. , 1. , elem_type );
@@ -965,6 +979,12 @@ public:
965979 testExodusWriteAddedSides (six_x_plus_sixty_y , EDGE3 , SECOND );
966980 }
967981
982+ void testExodusWriteAddedSidesMixedEdgeC0 ()
983+ {
984+ testExodusWriteAddedSides (six_x_plus_sixty_y , EDGE3 , FIRST , {{FIRST , LAGRANGE }});
985+ testExodusWriteAddedSides (six_x_plus_sixty_y , EDGE3 , SECOND , {}, {{FIRST , LAGRANGE }});
986+ }
987+
968988 void testExodusWriteAddedSidesEdgeDisc ()
969989 {
970990 testExodusWriteAddedSides (designed_for_side_elems , EDGE3 , SECOND );
@@ -976,6 +996,12 @@ public:
976996 testExodusWriteAddedSides (six_x_plus_sixty_y , TRI6 , SECOND );
977997 }
978998
999+ void testExodusWriteAddedSidesMixedTriC0 ()
1000+ {
1001+ testExodusWriteAddedSides (six_x_plus_sixty_y , TRI6 , FIRST , {{SECOND , HIERARCHIC }});
1002+ testExodusWriteAddedSides (six_x_plus_sixty_y , TRI6 , SECOND , {}, {{SECOND , SZABAB }});
1003+ }
1004+
9791005 void testExodusWriteAddedSidesTriDisc ()
9801006 {
9811007 testExodusWriteAddedSides (designed_for_side_elems , TRI6 , SECOND );
@@ -987,6 +1013,12 @@ public:
9871013 testExodusWriteAddedSides (six_x_plus_sixty_y , QUAD9 , SECOND );
9881014 }
9891015
1016+ void testExodusWriteAddedSidesMixedQuadC0 ()
1017+ {
1018+ testExodusWriteAddedSides (six_x_plus_sixty_y , QUAD9 , FIRST , {{SECOND , LAGRANGE }});
1019+ testExodusWriteAddedSides (six_x_plus_sixty_y , QUAD9 , SECOND , {}, {{FIRST , LAGRANGE }});
1020+ }
1021+
9901022 void testExodusWriteAddedSidesQuadDisc ()
9911023 {
9921024 testExodusWriteAddedSides (designed_for_side_elems , QUAD9 , SECOND );
@@ -1009,6 +1041,12 @@ public:
10091041 testExodusWriteAddedSides (six_x_plus_sixty_y , HEX27 , SECOND );
10101042 }
10111043
1044+ void testExodusWriteAddedSidesMixedHexC0 ()
1045+ {
1046+ testExodusWriteAddedSides (six_x_plus_sixty_y , HEX27 , FIRST , {{FIRST , LAGRANGE }});
1047+ testExodusWriteAddedSides (six_x_plus_sixty_y , HEX27 , SECOND , {}, {{SECOND , HIERARCHIC }});
1048+ }
1049+
10121050 void testExodusWriteAddedSidesHexDisc ()
10131051 {
10141052 testExodusWriteAddedSides (designed_for_side_elems , HEX27 , SECOND );
0 commit comments