Index: /issm/trunk/src/c/objects/Loads/Numericalflux.cpp
===================================================================
--- /issm/trunk/src/c/objects/Loads/Numericalflux.cpp	(revision 5454)
+++ /issm/trunk/src/c/objects/Loads/Numericalflux.cpp	(revision 5455)
@@ -312,15 +312,18 @@
 
 	int type;
-
-	/*recover type: */
+	int analysis_type;
+
+	/*recover some parameters*/
 	inputs->GetParameterValue(&type,TypeEnum);
-
-	if (type==InternalEnum){
-		CreateKMatrixInternal(Kgg);
-	}
-	else if (type==BoundaryEnum){
-		CreateKMatrixBoundary(Kgg);
-	}
-	else ISSMERROR("type not supported yet");
+	this->parameters->FindParam(&analysis_type,AnalysisTypeEnum);
+
+	if (analysis_type==PrognosticAnalysisEnum || analysis_type==BalancedthicknessAnalysisEnum || analysis_type==AdjointBalancedthicknessAnalysisEnum){
+		if      (type==InternalEnum) CreateKMatrixInternal(Kgg);
+		else if (type==BoundaryEnum) CreateKMatrixBoundary(Kgg);
+		else ISSMERROR("type not supported yet");
+	}
+	else{
+		ISSMERROR("analysis_type %s not supported yet",EnumToString(analysis_type));
+	}
 
 }
@@ -330,15 +333,22 @@
 
 	int type;
-
-	/*recover type: */
+	int analysis_type;
+
+	/*recover some parameters*/
 	inputs->GetParameterValue(&type,TypeEnum);
-
-	if (type==InternalEnum){
-		CreatePVectorInternal(pg);
-	}
-	else if (type==BoundaryEnum){
-		CreatePVectorBoundary(pg);
-	}
-	else ISSMERROR("type not supported yet");
+	this->parameters->FindParam(&analysis_type,AnalysisTypeEnum);
+
+	if (analysis_type==PrognosticAnalysisEnum || analysis_type==BalancedthicknessAnalysisEnum){
+		if      (type==InternalEnum) CreatePVectorInternal(pg);
+		else if (type==BoundaryEnum) CreatePVectorBoundary(pg);
+		else ISSMERROR("type not supported yet");
+	}
+	else if (analysis_type==AdjointBalancedthicknessAnalysisEnum){
+		return;
+	}
+	else{
+		ISSMERROR("analysis_type %s not supported yet",EnumToString(analysis_type));
+	}
+
 
 }
