Index: /issm/trunk-jpl/src/c/classes/Elements/PentaRef.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/PentaRef.cpp	(revision 15491)
+++ /issm/trunk-jpl/src/c/classes/Elements/PentaRef.cpp	(revision 15492)
@@ -1102,5 +1102,23 @@
 			basis[5]=gauss->coord3*(1.+gauss->coord4)/2.;
 			return;
-		case P1xP2Enum:
+		case P2xP1Enum:
+			/*Corner nodes*/
+			basis[ 0]=0.;
+			basis[ 1]=0.;
+			basis[ 2]=0.;
+			basis[ 3]=0.;
+			basis[ 4]=0.;
+			basis[ 5]=0.;
+			/*mid-sides of quads*/
+			basis[ 6]=0.;
+			basis[ 7]=0.;
+			basis[ 8]=0.;
+			/*mid-sides of triangles*/
+			basis[ 9]=0.;
+			basis[10]=0.;
+			basis[11]=0.;
+			basis[12]=0.;
+			basis[13]=0.;
+			basis[14]=0.;
 		case MINIEnum:
 			basis[0]=gauss->coord1*(1.-gauss->coord4)/2.;
Index: /issm/trunk-jpl/src/c/classes/Elements/TriaRef.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/TriaRef.cpp	(revision 15491)
+++ /issm/trunk-jpl/src/c/classes/Elements/TriaRef.cpp	(revision 15492)
@@ -438,7 +438,9 @@
 			return;
 		case P2Enum:
+			/*Corner nodes*/
 			basis[0]=gauss->coord1*(2.*gauss->coord1-1.);
 			basis[1]=gauss->coord2*(2.*gauss->coord2-1.);
 			basis[2]=gauss->coord3*(2.*gauss->coord3-1.);
+			/*Mid-sides*/
 			basis[3]=4.*gauss->coord3*gauss->coord2;
 			basis[4]=4.*gauss->coord3*gauss->coord1;
Index: /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 15491)
+++ /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 15492)
@@ -497,7 +497,8 @@
 	P0Enum,
 	P1Enum,
+	P1DGEnum,
+	P1bubbleEnum,
 	P2Enum,
-	P1DGEnum,
-	P1P2Enum,
+	P2xP1Enum,
 	MINIEnum,
 	TaylorHoodEnum,
Index: /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 15491)
+++ /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 15492)
@@ -489,7 +489,8 @@
 		case P0Enum : return "P0";
 		case P1Enum : return "P1";
+		case P1DGEnum : return "P1DG";
+		case P1bubbleEnum : return "P1bubble";
 		case P2Enum : return "P2";
-		case P1DGEnum : return "P1DG";
-		case P1P2Enum : return "P1P2";
+		case P2xP1Enum : return "P2xP1";
 		case MINIEnum : return "MINI";
 		case TaylorHoodEnum : return "TaylorHood";
Index: /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 15491)
+++ /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 15492)
@@ -498,16 +498,17 @@
 	      else if (strcmp(name,"P0")==0) return P0Enum;
 	      else if (strcmp(name,"P1")==0) return P1Enum;
+	      else if (strcmp(name,"P1DG")==0) return P1DGEnum;
+	      else if (strcmp(name,"P1bubble")==0) return P1bubbleEnum;
 	      else if (strcmp(name,"P2")==0) return P2Enum;
-	      else if (strcmp(name,"P1DG")==0) return P1DGEnum;
-	      else if (strcmp(name,"P1P2")==0) return P1P2Enum;
+	      else if (strcmp(name,"P2xP1")==0) return P2xP1Enum;
 	      else if (strcmp(name,"MINI")==0) return MINIEnum;
 	      else if (strcmp(name,"TaylorHood")==0) return TaylorHoodEnum;
 	      else if (strcmp(name,"SaveResults")==0) return SaveResultsEnum;
 	      else if (strcmp(name,"BoolElementResult")==0) return BoolElementResultEnum;
-	      else if (strcmp(name,"BoolExternalResult")==0) return BoolExternalResultEnum;
          else stage=5;
    }
    if(stage==5){
-	      if (strcmp(name,"DoubleElementResult")==0) return DoubleElementResultEnum;
+	      if (strcmp(name,"BoolExternalResult")==0) return BoolExternalResultEnum;
+	      else if (strcmp(name,"DoubleElementResult")==0) return DoubleElementResultEnum;
 	      else if (strcmp(name,"DoubleExternalResult")==0) return DoubleExternalResultEnum;
 	      else if (strcmp(name,"DoubleMatExternalResult")==0) return DoubleMatExternalResultEnum;
Index: /issm/trunk-jpl/src/m/enum/EnumDefinitions.py
===================================================================
--- /issm/trunk-jpl/src/m/enum/EnumDefinitions.py	(revision 15491)
+++ /issm/trunk-jpl/src/m/enum/EnumDefinitions.py	(revision 15492)
@@ -6617,4 +6617,32 @@
 	return StringToEnum('P1')[0]
 
+def P1DGEnum():
+	"""
+	P1DGENUM - Enum of P1DG
+
+	WARNING: DO NOT MODIFY THIS FILE
+				this file has been automatically generated by src/c/shared/Enum/Synchronize.sh
+				Please read src/c/shared/Enum/README for more information
+
+	   Usage:
+	      macro=P1DGEnum()
+	"""
+
+	return StringToEnum('P1DG')[0]
+
+def P1bubbleEnum():
+	"""
+	P1BUBBLEENUM - Enum of P1bubble
+
+	WARNING: DO NOT MODIFY THIS FILE
+				this file has been automatically generated by src/c/shared/Enum/Synchronize.sh
+				Please read src/c/shared/Enum/README for more information
+
+	   Usage:
+	      macro=P1bubbleEnum()
+	"""
+
+	return StringToEnum('P1bubble')[0]
+
 def P2Enum():
 	"""
@@ -6631,31 +6659,17 @@
 	return StringToEnum('P2')[0]
 
-def P1DGEnum():
-	"""
-	P1DGENUM - Enum of P1DG
-
-	WARNING: DO NOT MODIFY THIS FILE
-				this file has been automatically generated by src/c/shared/Enum/Synchronize.sh
-				Please read src/c/shared/Enum/README for more information
-
-	   Usage:
-	      macro=P1DGEnum()
-	"""
-
-	return StringToEnum('P1DG')[0]
-
-def P1P2Enum():
-	"""
-	P1P2ENUM - Enum of P1P2
-
-	WARNING: DO NOT MODIFY THIS FILE
-				this file has been automatically generated by src/c/shared/Enum/Synchronize.sh
-				Please read src/c/shared/Enum/README for more information
-
-	   Usage:
-	      macro=P1P2Enum()
-	"""
-
-	return StringToEnum('P1P2')[0]
+def P2xP1Enum():
+	"""
+	P2XP1ENUM - Enum of P2xP1
+
+	WARNING: DO NOT MODIFY THIS FILE
+				this file has been automatically generated by src/c/shared/Enum/Synchronize.sh
+				Please read src/c/shared/Enum/README for more information
+
+	   Usage:
+	      macro=P2xP1Enum()
+	"""
+
+	return StringToEnum('P2xP1')[0]
 
 def MINIEnum():
@@ -7889,4 +7903,4 @@
 	"""
 
-	return 562
-
+	return 563
+
Index: /issm/trunk-jpl/src/m/enum/MaximumNumberOfEnums.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/MaximumNumberOfEnums.m	(revision 15491)
+++ /issm/trunk-jpl/src/m/enum/MaximumNumberOfEnums.m	(revision 15492)
@@ -9,3 +9,3 @@
 %      macro=MaximumNumberOfEnums()
 
-macro=562;
+macro=563;
Index: sm/trunk-jpl/src/m/enum/P1P2Enum.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/P1P2Enum.m	(revision 15491)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=P1P2Enum()
-%P1P2ENUM - Enum of P1P2
-%
-%   WARNING: DO NOT MODIFY THIS FILE
-%            this file has been automatically generated by src/c/shared/Enum/Synchronize.sh
-%            Please read src/c/shared/Enum/README for more information
-%
-%   Usage:
-%      macro=P1P2Enum()
-
-macro=StringToEnum('P1P2');
Index: /issm/trunk-jpl/src/m/enum/P1bubbleEnum.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/P1bubbleEnum.m	(revision 15492)
+++ /issm/trunk-jpl/src/m/enum/P1bubbleEnum.m	(revision 15492)
@@ -0,0 +1,11 @@
+function macro=P1bubbleEnum()
+%P1BUBBLEENUM - Enum of P1bubble
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/shared/Enum/Synchronize.sh
+%            Please read src/c/shared/Enum/README for more information
+%
+%   Usage:
+%      macro=P1bubbleEnum()
+
+macro=StringToEnum('P1bubble');
Index: /issm/trunk-jpl/src/m/enum/P2xP1Enum.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/P2xP1Enum.m	(revision 15492)
+++ /issm/trunk-jpl/src/m/enum/P2xP1Enum.m	(revision 15492)
@@ -0,0 +1,11 @@
+function macro=P2xP1Enum()
+%P2XP1ENUM - Enum of P2xP1
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/shared/Enum/Synchronize.sh
+%            Please read src/c/shared/Enum/README for more information
+%
+%   Usage:
+%      macro=P2xP1Enum()
+
+macro=StringToEnum('P2xP1');
