Index: /issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp	(revision 17009)
+++ /issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp	(revision 17010)
@@ -816,10 +816,9 @@
 
 	/*Intermediaries*/
-	bool isSIA,isSSA,isL1L2,isHO,isFS;
+	bool isSSA,isL1L2,isHO,isFS;
 	bool conserve_loads = true;
-	int  meshtype,newton;
+	int  newton;
 
 	/* recover parameters:*/
-	femmodel->parameters->FindParam(&isSIA,FlowequationIsSIAEnum);
 	femmodel->parameters->FindParam(&isSSA,FlowequationIsSSAEnum);
 	femmodel->parameters->FindParam(&isL1L2,FlowequationIsL1L2Enum);
@@ -827,5 +826,4 @@
 	femmodel->parameters->FindParam(&isFS,FlowequationIsFSEnum);
 	femmodel->parameters->FindParam(&newton,StressbalanceIsnewtonEnum);
-	femmodel->parameters->FindParam(&meshtype,MeshTypeEnum);
 
 	if((isSSA || isHO || isL1L2) ^ isFS){ // ^ = xor
@@ -842,10 +840,4 @@
 		if(VerboseSolution()) _printf0_("   computing coupling between lower order models and FS\n");
 		solutionsequence_FScoupling_nonlinear(femmodel,conserve_loads);
-	}
-
-	if (meshtype==Mesh3DEnum && (isSIA || isSSA || isL1L2 || isHO)){
-		if(VerboseSolution()) _printf0_("   computing vertical velocities\n");
-		femmodel->SetCurrentConfiguration(StressbalanceVerticalAnalysisEnum);
-		solutionsequence_linear(femmodel);
 	}
 
Index: /issm/trunk-jpl/src/c/analyses/StressbalanceVerticalAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/StressbalanceVerticalAnalysis.cpp	(revision 17009)
+++ /issm/trunk-jpl/src/c/analyses/StressbalanceVerticalAnalysis.cpp	(revision 17010)
@@ -4,4 +4,5 @@
 #include "../shared/shared.h"
 #include "../modules/modules.h"
+#include "../solutionsequences/solutionsequences.h"
 
 /*Model processing*/
@@ -97,5 +98,8 @@
 /*Finite Element Analysis*/
 void           StressbalanceVerticalAnalysis::Core(FemModel* femmodel){/*{{{*/
-	_error_("not implemented");
+
+		if(VerboseSolution()) _printf0_("   computing vertical velocities\n");
+		femmodel->SetCurrentConfiguration(StressbalanceVerticalAnalysisEnum);
+		solutionsequence_linear(femmodel);
 }/*}}}*/
 ElementVector* StressbalanceVerticalAnalysis::CreateDVector(Element* element){/*{{{*/
Index: /issm/trunk-jpl/src/c/cores/stressbalance_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/cores/stressbalance_core.cpp	(revision 17009)
+++ /issm/trunk-jpl/src/c/cores/stressbalance_core.cpp	(revision 17010)
@@ -73,4 +73,12 @@
 	}
 
+	/*Compute vertical velocities*/
+	if (meshtype==Mesh3DEnum && (isSIA || isSSA || isL1L2 || isHO)){
+		analysis = new StressbalanceVerticalAnalysis();
+		analysis->Core(femmodel);
+		delete analysis;
+	}
+
+
 	if(save_results){
 		if(VerboseSolution()) _printf0_("   saving results\n");
