Index: /issm/trunk/src/c/Container/Inputs.cpp
===================================================================
--- /issm/trunk/src/c/Container/Inputs.cpp	(revision 4942)
+++ /issm/trunk/src/c/Container/Inputs.cpp	(revision 4943)
@@ -315,4 +315,34 @@
 }
 /*}}}*/
+/*FUNCTION Inputs::ChangeEnum{{{1*/
+void  Inputs::ChangeEnum(int oldenumtype,int newenumtype){
+
+	/*Go through dataset of inputs and look for input with 
+	 * same enum as input enum, once found, just change its name */
+	vector<Object*>::iterator object;
+	Input* input=NULL;
+
+	/*Delete existing input of newenumtype if it exists*/
+	for ( object=objects.begin() ; object < objects.end(); object++ ){
+		input=(Input*)(*object); 
+
+		if (input->EnumType()==newenumtype){
+			this->DeleteObject(input);
+			break;
+		}
+	}
+
+	/*Change enum_type of input of oldenumtype*/
+	for ( object=objects.begin() ; object < objects.end(); object++ ){
+
+		input=(Input*)(*object); 
+
+		if (input->EnumType()==oldenumtype){
+			input->ChangeEnum(newenumtype);
+			break;
+		}
+	}
+}
+/*}}}*/
 /*FUNCTION Inputs::GetInput{{{1*/
 Input* Inputs::GetInput(int enum_name){
@@ -352,32 +382,20 @@
 }
 /*}}}*/
-/*FUNCTION Inputs::ChangeEnum{{{1*/
-void  Inputs::ChangeEnum(int oldenumtype,int newenumtype){
-
-	/*Go through dataset of inputs and look for input with 
-	 * same enum as input enum, once found, just change its name */
-	vector<Object*>::iterator object;
-	Input* input=NULL;
-
-	/*Delete existing input of newenumtype if it exists*/
-	for ( object=objects.begin() ; object < objects.end(); object++ ){
-		input=(Input*)(*object); 
-
-		if (input->EnumType()==newenumtype){
-			this->DeleteObject(input);
-			break;
-		}
-	}
-
-	/*Change enum_type of input of oldenumtype*/
-	for ( object=objects.begin() ; object < objects.end(); object++ ){
-
-		input=(Input*)(*object); 
-
-		if (input->EnumType()==oldenumtype){
-			input->ChangeEnum(newenumtype);
-			break;
-		}
-	}
+/*FUNCTION Inputs::DuplicateInput{{{1*/
+void  Inputs::DuplicateInput(int original_enum,int new_enum){
+
+	Input* original=NULL;
+	Input* copy=NULL;
+
+	/*Make a copy of the original input: */
+	original=(Input*)this->GetInput(original_enum);
+	if(!original)ISSMERROR("could not find input with enum: %s",EnumAsString(original_enum)); 
+	copy=(Input*)original->copy();
+
+	/*Change copy enum to reinitialized_enum: */
+	copy->ChangeEnum(new_enum);
+
+	/*Add copy into inputs, it will wipe off the one already there: */
+	this->AddInput((Input*)copy);
 }
 /*}}}*/
Index: /issm/trunk/src/c/Container/Inputs.h
===================================================================
--- /issm/trunk/src/c/Container/Inputs.h	(revision 4942)
+++ /issm/trunk/src/c/Container/Inputs.h	(revision 4943)
@@ -29,8 +29,11 @@
 		/*numerics: {{{1*/
 		int     AddInput(Input* in_input);
+		void    ChangeEnum(int enumtype,int new_enumtype);
 		int     DeleteInput(int enum_type);
+		void    DuplicateInput(int original_enum,int new_enum);
 		Input*  GetInput(int enum_name);
 		Inputs* SpawnTriaInputs(int* indices);
 		
+		void GetParameterAverage(double* pvalue, int enum_type);
 		void GetParameterValue(bool* pvalue,int enum_type);
 		void GetParameterValue(int* pvalue,int enum_type);
@@ -38,13 +41,7 @@
 		void GetParameterValue(double* pvalue,double* gauss,int enum_type);
 		void GetParameterValue(double* pvalue,double* gauss,int enum_type,double defaultvalue);
-		void GetParameterAverage(double* pvalue, int enum_type);
-		
 		void GetParameterValues(double* values,double* gauss_pointers, int numgauss,int enum_type);
 		void GetParameterValues(double* values,double* gauss_pointers, int numgauss,int enum_type,double* defaultvalues);
-	
 		void GetParameterDerivativeValue(double* derivativevalues, double* xyz_list, double* gauss,int enum_type);
-
-		void ChangeEnum(int enumtype,int new_enumtype);
-
 		/*}}}*/
 
Index: /issm/trunk/src/c/objects/Elements/Penta.cpp
===================================================================
--- /issm/trunk/src/c/objects/Elements/Penta.cpp	(revision 4942)
+++ /issm/trunk/src/c/objects/Elements/Penta.cpp	(revision 4943)
@@ -1130,17 +1130,7 @@
 void  Penta::InputDuplicate(int original_enum,int new_enum){
 
-	Input* original=NULL;
-	Input* copy=NULL;
-
-	/*Make a copy of the original input: */
-	original=(Input*)this->inputs->GetInput(original_enum);
-	if(!original)ISSMERROR(" could not find old input with enum: %s",EnumAsString(original_enum)); 
-	copy=(Input*)original->copy();
-
-	/*Change copy enum to reinitialized_enum: */
-	copy->ChangeEnum(new_enum);
-
-	/*Add copy into inputs, it will wipe off the one already there: */
-	inputs->AddInput((Input*)copy);
+	/*Call inputs method*/
+	inputs->DuplicateInput(original_enum,new_enum);
+
 }
 /*}}}*/
Index: /issm/trunk/src/c/objects/Elements/Tria.cpp
===================================================================
--- /issm/trunk/src/c/objects/Elements/Tria.cpp	(revision 4942)
+++ /issm/trunk/src/c/objects/Elements/Tria.cpp	(revision 4943)
@@ -1318,17 +1318,7 @@
 void  Tria::InputDuplicate(int original_enum,int new_enum){
 
-	Input* original=NULL;
-	Input* copy=NULL;
-
-	/*Make a copy of the original input: */
-	original=(Input*)this->inputs->GetInput(original_enum);
-	if(!original)ISSMERROR(" could not find old input with enum: %s",EnumAsString(original_enum));
-	copy=(Input*)original->copy();
-
-	/*Change copy enum to reinitialized_enum: */
-	copy->ChangeEnum(new_enum);
-
-	/*Add copy into inputs, it will wipe off the one already there: */
-	inputs->AddInput((Input*)copy);
+	/*Call inputs method*/
+	inputs->DuplicateInput(original_enum,new_enum);
+
 }
 /*}}}*/
