Index: /issm/trunk/src/m/classes/public/solve.m
===================================================================
--- /issm/trunk/src/m/classes/public/solve.m	(revision 4402)
+++ /issm/trunk/src/m/classes/public/solve.m	(revision 4403)
@@ -53,46 +53,5 @@
 
 %Launch correct solution sequence
-if md.analysis_type==DiagnosticSolutionEnum,
-	md=diagnostic(md);
-
-elseif md.analysis_type==Transient2DSolutionEnum,
-	md=transient2d(md);
-
-elseif md.analysis_type==Transient3DSolutionEnum,
-	md=transient3d(md);
-
-elseif md.analysis_type==PrognosticSolutionEnum,
-	md=prognostic(md);
-
-elseif md.analysis_type==Prognostic2SolutionEnum,
-	md=prognostic2(md);
-
-elseif md.analysis_type==ThermalSolutionEnum,
-	md=thermal(md);
-
-elseif md.analysis_type==ParametersSolutionEnum,
-	md=parameters(md);
-
-elseif md.analysis_type==SteadystateSolutionEnum,
-	md=steadystate(md);
-
-elseif md.analysis_type==BalancedthicknessSolutionEnum,
-	md=balancedthickness(md);
-
-elseif md.analysis_type==Balancedthickness2SolutionEnum,
-	md=balancedthickness2(md);
-
-elseif md.analysis_type==BalancedvelocitiesSolutionEnum,
-	md=balancedvelocities(md);
-
-elseif md.analysis_type==BedSlopeSolutionEnum,
-	md=bedslope(md);
-
-elseif md.analysis_type==SurfaceSlopeSolutionEnum,
-	md=surfaceslope(md);
-
-else
-	error('solution type not supported for this model configuration.');
-end
+md=issm(md);
 
 %post processes qmu results if necessary
Index: /issm/trunk/src/m/issm.m
===================================================================
--- /issm/trunk/src/m/issm.m	(revision 4403)
+++ /issm/trunk/src/m/issm.m	(revision 4403)
@@ -0,0 +1,47 @@
+function md=issm(md);
+%ISSM - ISSM main parallel program
+%
+%   Usage:
+%      md=issm(md)
+%
+	%timing
+	t1=clock;
+
+	solution_type=md.analysis_type;
+
+	%out of solution_type, figure out solution core function pointer, and types of analyses needed:
+	[analyses,numanalyses,solutioncore]=SolutionConfiguration(solution_type);
+
+	displaystring(md.verbose,'%s',['create finite element model']);
+	femmodel=NewFemModel(md,solution_type,analyses,numanalyses);
+
+	%retrieve parameters
+	verbose=femmodel.parameters.Verbose;
+	qmu_analysis=femmodel.parameters.QmuAnalysis;
+	control_analysis=femmodel.parameters.ControlAnalysis;
+
+	%compute solution
+	if ~qmu_analysis,
+		if ~control_analysis,
+			
+			displaystring(verbose,'%s',['call computational core']);
+			eval(['femmodel=' solutioncore '(femmodel);']);
+
+		else,
+			
+			displaystring(verbose,'%s',['call computational core']);
+			femmodel=control_core(femmodel);
+
+		end
+		
+		displaystring(verbose,'%s',['write results'])
+		results=OutputResults(femmodel.elements, femmodel.nodes , femmodel.vertices , femmodel.loads , femmodel.materials, femmodel.parameters, femmodel.results);
+		md.results.(EnumAsString(solution_type))=ProcessPatch(results);
+	else
+		%launch dakota driver for diagnostic core solution
+		Qmu(femmodel,femmodel.parameters);
+	end
+
+	%stop timing
+	t2=clock;
+	displaystring(md.verbose,'\n%s\n',['solution converged in ' num2str(etime(t2,t1)) ' seconds']);
Index: /issm/trunk/src/m/solutions/SolutionConfiguration.m
===================================================================
--- /issm/trunk/src/m/solutions/SolutionConfiguration.m	(revision 4403)
+++ /issm/trunk/src/m/solutions/SolutionConfiguration.m	(revision 4403)
@@ -0,0 +1,72 @@
+function [analyses,numanalyses,solutioncore]=SolutionConfiguration(solutiontype),
+%SOLUTIONCONFIGURATION - return type of analyses, number of analyses and solution_core function
+%
+%   Usage:
+%      [analyses, numanalyses, solutioncore]=SolutionConfiguration(solutiontype);
+
+switch solutiontype,
+
+	case DiagnosticSolutionEnum,
+		numanalyses=6;
+		analyses=[DiagnosticHorizAnalysisEnum;DiagnosticVertAnalysisEnum;DiagnosticStokesAnalysisEnum;DiagnosticHutterAnalysisEnum;SurfaceSlopeAnalysisEnum;BedSlopeAnalysisEnum];
+		solutioncore='diagnostic_core';
+
+	case SteadystateSolutionEnum,
+		numanalyses=8; 
+		analyses=[DiagnosticHorizAnalysisEnum;DiagnosticVertAnalysisEnum;DiagnosticStokesAnalysisEnum;DiagnosticHutterAnalysisEnum;SurfaceSlopeAnalysisEnum;BedSlopeAnalysisEnum;ThermalAnalysisEnum,MeltingAnalysisEnum];
+		solutioncore='steadystate_core';
+
+	case ThermalSolutionEnum,
+		numanalyses=2; 
+		analyses=[ThermalAnalysisEnum,MeltingAnalysisEnum];
+		solutioncore='thermal_core';
+
+	case PrognosticSolutionEnum,
+		numanalyses=1; 
+		analyses=[PrognosticAnalysisEnum];
+		solutioncore='prognostic_core';
+
+	case Prognostic2SolutionEnum,
+		numanalyses=1; 
+		analyses=[Prognostic2AnalysisEnum];
+		solutioncore='prognostic2_core';
+
+	case BalancedthicknessSolutionEnum,
+		numanalyses=1; 
+		analyses=[BalancedthicknessAnalysisEnum];
+		solutioncore='balancedthickness_core';
+
+	case Balancedthickness2SolutionEnum,
+		numanalyses=1; 
+		analyses=[Balancedthickness2AnalysisEnum];
+		solutioncore='balancedthickness2_core';
+
+	case BalancedvelocitiesSolutionEnum,
+		numanalyses=1; 
+		analyses=[BalancedvelocitiesAnalysisEnum];
+		solutioncore='balancedvelocities_core';
+
+	case SurfaceSlopeSolutionEnum,
+		numanalyses=1; 
+		analyses=[SurfaceSlopeAnalysisEnum];
+		solutioncore='surfaceslope_core';
+
+	case BedSlopeSolutionEnum,
+		numanalyses=1; 
+		analyses=[BedSlopeSolutionEnum];
+		solutioncore='bedslope_core';
+
+	case Transient2DSolutionEnum,
+		numanalyses=7; 
+		analyses=[DiagnosticHorizAnalysisEnum;DiagnosticVertAnalysisEnum;DiagnosticStokesAnalysisEnum;DiagnosticHutterAnalysisEnum;SurfaceSlopeAnalysisEnum;BedSlopeAnalysisEnum;PrognosticAnalysisEnum];
+		solutioncore='transient2d_core';
+
+	case Transient3DSolutionEnum,
+		numanalyses=9; 
+		analyses=[DiagnosticHorizAnalysisEnum;DiagnosticVertAnalysisEnum;DiagnosticStokesAnalysisEnum;DiagnosticHutterAnalysisEnum;SurfaceSlopeAnalysisEnum;BedSlopeAnalysisEnum;PrognosticAnalysisEnum;ThermalAnalysisEnum;MeltingAnalysisEnum];
+		solutioncore='transient3d_core';
+
+	otherwise
+		error('%s%s%s',' solution type: ',EnumAsString(solutiontype),' not supported yet!');
+
+end
Index: sm/trunk/src/m/solutions/balancedthickness.m
===================================================================
--- /issm/trunk/src/m/solutions/balancedthickness.m	(revision 4402)
+++ 	(revision )
@@ -1,36 +1,0 @@
-function md=balancedthickness(md)
-%BALANCEDTHICKNESS - balancedthickness solution sequence.
-%
-%   Usage:
-%      md=balancedthickness(md)
-
-	%timing
-	t1=clock;
-
-	numanalyses=1;
-	analyses=[BalancedThicknessAnalysisEnum];
-	solution_type=BalancedthicknessSolutionEnum;
-
-	displaystring(md.verbose,'%s',['create finite element model']);
-	femmodel=NewFemModel(md,solution_type,analyses,numanalyses);
-
-	%retrieve parameters
-	verbose=femmodel.parameters.Verbose;
-	qmu_analysis=femmodel.parameters.QmuAnalysis;
-
-	%compute solution
-	if ~qmu_analysis,
-		displaystring(verbose,'%s',['call computational core']);
-		femmodel=balancedthickness_core(femmodel);
-
-		displaystring(verbose,'%s',['write results']);
-		results=OutputResults(femmodel.elements, femmodel.nodes , femmodel.vertices , femmodel.loads , femmodel.materials, femmodel.parameters, femmodel.results);
-		md.results.(EnumAsString(solution_type))=ProcessPatch(results);
-	else
-		%launch dakota driver for diagnostic core solution
-		Qmu(femmodel);
-	end
-
-	%stop timing
-	t2=clock;
-	displaystring(md.verbose,'\n%s\n',['solution converged in ' num2str(etime(t2,t1)) ' seconds']);
Index: sm/trunk/src/m/solutions/balancedthickness2.m
===================================================================
--- /issm/trunk/src/m/solutions/balancedthickness2.m	(revision 4402)
+++ 	(revision )
@@ -1,36 +1,0 @@
-function md=balancedthickness2(md)
-%BALANCEDTHICKNESS - balancedthickness2 solution sequence.
-%
-%   Usage:
-%      md=balancedthickness2(md)
-
-	%timing
-	t1=clock;
-
-	numanalyses=1;
-	analyses=[Balancedthickness2AnalysisEnum];
-	solution_type=Balancedthickness2SolutionEnum;
-
-	displaystring(md.verbose,'%s',['create finite element model']);
-	femmodel=NewFemModel(md,solution_type,analyses,numanalyses);
-
-	%retrieve parameters
-	verbose=femmodel.parameters.Verbose;
-	qmu_analysis=femmodel.parameters.QmuAnalysis;
-
-	%compute solution
-	if ~qmu_analysis,
-		displaystring(verbose,'%s',['call computational core']);
-		femmodel=balancedthickness2_core(femmodel);
-
-		displaystring(verbose,'%s',['write results']);
-		results=OutputResults(femmodel.elements, femmodel.nodes , femmodel.vertices , femmodel.loads , femmodel.materials, femmodel.parameters, femmodel.results);
-		md.results.(EnumAsString(solution_type))=ProcessPatch(results);
-	else
-		%launch dakota driver for diagnostic core solution
-		Qmu(femmodel);
-	end
-
-	%stop timing
-	t2=clock;
-	displaystring(md.verbose,'\n%s\n',['solution converged in ' num2str(etime(t2,t1)) ' seconds']);
Index: sm/trunk/src/m/solutions/balancedvelocities.m
===================================================================
--- /issm/trunk/src/m/solutions/balancedvelocities.m	(revision 4402)
+++ 	(revision )
@@ -1,36 +1,0 @@
-function md=balancedvelocities(md)
-%BALANCEDVELOCITIES - balancedvelocities solution sequence.
-%
-%   Usage:
-%      md=balancedvelocities(md)
-
-	%timing
-	t1=clock;
-
-	numanalyses=1;
-	analyses=[BalancedvelocitiesAnalysisEnum];
-	solution_type=BalancedvelocitiesSolutionEnum;
-
-	displaystring(md.verbose,'%s',['create finite element model']);
-	femmodel=NewFemModel(md,solution_type,analyses,numanalyses);
-
-	%retrieve parameters
-	verbose=femmodel.parameters.Verbose;
-	qmu_analysis=femmodel.parameters.QmuAnalysis;
-
-	%compute solution
-	if ~qmu_analysis,
-		displaystring(verbose,'%s',['call computational core']);
-		femmodel=balancedvelocities_core(femmodel);
-
-		displaystring(verbose,'%s',['write results']);
-		results=OutputResults(femmodel.elements, femmodel.nodes , femmodel.vertices , femmodel.loads , femmodel.materials, femmodel.parameters, femmodel.results);
-		md.results.(EnumAsString(solution_type))=ProcessPatch(results);
-	else
-		%launch dakota driver for diagnostic core solution
-		Qmu(femmodel);
-	end
-
-	%stop timing
-	t2=clock;
-	displaystring(md.verbose,'\n%s\n',['solution converged in ' num2str(etime(t2,t1)) ' seconds']);
Index: sm/trunk/src/m/solutions/bedslope.m
===================================================================
--- /issm/trunk/src/m/solutions/bedslope.m	(revision 4402)
+++ 	(revision )
@@ -1,37 +1,0 @@
-function md=bedslope(md);
-%BEDSLOPE - compute the bed slope of a model
-%
-%   Usage:
-%      md=bedslope(md)
-%
-	%timing
-	t1=clock;
-
-	numanalyses=1;
-	analyses=BedSlopeAnalysisEnum;
-	solution_type=BedSlopeSolutionEnum;
-
-	displaystring(md.verbose,'%s',['create finite element model']);
-	femmodel=NewFemModel(md,solution_type,analyses,numanalyses);
-
-	%retrieve parameters
-	verbose=femmodel.parameters.Verbose;
-	qmu_analysis=femmodel.parameters.QmuAnalysis;
-
-	%compute solution
-	if ~qmu_analysis,
-		displaystring(verbose,'%s',['call computational core']);
-		femmodel=bedslope_core(femmodel);
-	
-		displaystring(verbose,'%s',['write results']);
-		results=OutputResults(femmodel.elements, femmodel.nodes , femmodel.vertices , femmodel.loads , femmodel.materials, femmodel.parameters, femmodel.results);
-		md.results.(EnumAsString(solution_type))=ProcessPatch(results);
-
-	else
-		%launch dakota driver for diagnostic core solution
-		Qmu(femmodel,femmodel.parameters);
-	end
-
-	%stop timing
-	t2=clock;
-	displaystring(md.verbose,'\n%s\n',['solution converged in ' num2str(etime(t2,t1)) ' seconds']);
Index: sm/trunk/src/m/solutions/diagnostic.m
===================================================================
--- /issm/trunk/src/m/solutions/diagnostic.m	(revision 4402)
+++ 	(revision )
@@ -1,46 +1,0 @@
-function md=diagnostic(md);
-%DIAGNOSTIC - compute the velocity field of a model
-%
-%   Usage:
-%      md=diagnostic(md)
-%
-	%timing
-	t1=clock;
-
-	numanalyses=6;
-	analyses=[DiagnosticHorizAnalysisEnum;DiagnosticVertAnalysisEnum;DiagnosticStokesAnalysisEnum;DiagnosticHutterAnalysisEnum;BedSlopeAnalysisEnum;SurfaceSlopeAnalysisEnum];
-	solution_type=DiagnosticSolutionEnum;
-
-	displaystring(md.verbose,'%s',['create finite element model']);
-	femmodel=NewFemModel(md,solution_type,analyses,numanalyses);
-
-	%retrieve parameters
-	verbose=femmodel.parameters.Verbose;
-	qmu_analysis=femmodel.parameters.QmuAnalysis;
-	control_analysis=femmodel.parameters.ControlAnalysis;
-
-	%compute solution
-	if ~qmu_analysis,
-		if ~control_analysis,
-			
-			displaystring(verbose,'%s',['call computational core']);
-			femmodel=diagnostic_core(femmodel);
-
-		else,
-			
-			displaystring(verbose,'%s',['call computational core']);
-			femmodel=control_core(femmodel);
-
-		end
-		
-		displaystring(verbose,'%s',['write results']);
-		results=OutputResults(femmodel.elements, femmodel.nodes , femmodel.vertices , femmodel.loads , femmodel.materials, femmodel.parameters, femmodel.results);
-		md.results.(EnumAsString(solution_type))=ProcessPatch(results);
-	else
-		%launch dakota driver for diagnostic core solution
-		Qmu(femmodel,femmodel.parameters);
-	end
-
-	%stop timing
-	t2=clock;
-	displaystring(md.verbose,'\n%s\n',['solution converged in ' num2str(etime(t2,t1)) ' seconds']);
Index: sm/trunk/src/m/solutions/prognostic.m
===================================================================
--- /issm/trunk/src/m/solutions/prognostic.m	(revision 4402)
+++ 	(revision )
@@ -1,37 +1,0 @@
-function md=prognostic(md)
-%PROGNOSITC - prognostic solution sequence.
-%
-%   Usage:
-%      md=prognostic(md)
-
-	%timing
-	t1=clock;
-
-	%Build all models requested for diagnostic simulation
-	numanalyses=1;
-	analyses=[PrognosticAnalysisEnum];
-	solution_type=PrognosticSolutionEnum;
-	
-	displaystring(md.verbose,'%s',['reading prognostic model data']);
-	femmodel=NewFemModel(md,solution_type,analyses,numanalyses);
-
-	% figure out number of dof: just for information purposes.
-	verbose=femmodel.parameters.Verbose;
-	qmu_analysis=femmodel.parameters.QmuAnalysis;
-
-	%compute solution
-	if ~qmu_analysis,
-		displaystring(verbose,'%s',['call computational core']);
-		femmodel=prognostic_core(femmodel);
-
-		displaystring(verbose,'%s',['write results']);
-		results=OutputResults(femmodel.elements, femmodel.nodes , femmodel.vertices , femmodel.loads , femmodel.materials, femmodel.parameters, femmodel.results);
-		md.results.(EnumAsString(solution_type))=ProcessPatch(results);
-	else
-		%launch dakota driver for diagnostic core solution
-		Qmu(femmodel,femmodel.parameters);
-	end
-
-	%stop timing
-	t2=clock;
-	displaystring(md.verbose,'\n%s\n',['solution converged in ' num2str(etime(t2,t1)) ' seconds']);	
Index: sm/trunk/src/m/solutions/prognostic2.m
===================================================================
--- /issm/trunk/src/m/solutions/prognostic2.m	(revision 4402)
+++ 	(revision )
@@ -1,36 +1,0 @@
-function md=prognostic2(md)
-%PROGNOSITC2 - prognostic2 solution sequence.
-%
-%   Usage:
-%      md=prognostic2(md)
-
-	%timing
-	t1=clock;
-
-	numanalyses=1;
-	analyses=[Prognostic2AnalysisEnum];
-	solution_type=Prognostic2SolutionEnum;
-
-	displaystring(md.verbose,'%s',['create finite element model']);
-	femmodel=NewFemModel(md,solution_type,analyses,numanalyses);
-
-	%retrieve parameters
-	verbose=femmodel.parameters.Verbose;
-	qmu_analysis=femmodel.parameters.QmuAnalysis;
-
-	%compute solution
-	if ~qmu_analysis,
-		displaystring(verbose,'%s',['call computational core']);
-		femmodel=prognostic2_core(femmodel);
-
-		displaystring(verbose,'%s',['write results']);
-		results=OutputResults(femmodel.elements, femmodel.nodes , femmodel.vertices , femmodel.loads , femmodel.materials, femmodel.parameters, femmodel.results);
-		md.results.(EnumAsString(solution_type))=ProcessPatch(results);
-	else
-		%launch dakota driver for diagnostic core solution
-		Qmu(femmodel,femmodel.parameters);
-	end
-
-	%stop timing
-	t2=clock;
-	displaystring(md.verbose,'\n%s\n',['solution converged in ' num2str(etime(t2,t1)) ' seconds']);
Index: sm/trunk/src/m/solutions/steadystate.m
===================================================================
--- /issm/trunk/src/m/solutions/steadystate.m	(revision 4402)
+++ 	(revision )
@@ -1,48 +1,0 @@
-function md=steadystate(md);
-%STEADYSTATE - compute the velocity and temperature field of a model in steady state.
-%
-%   Usage:
-%      md=steadystate(md)
-%
-
-	%timing
-	t1=clock;
-
-	numanalyses=8;
-	analyses=[DiagnosticHorizAnalysisEnum;DiagnosticVertAnalysisEnum;DiagnosticStokesAnalysisEnum;DiagnosticHutterAnalysisEnum;SurfaceSlopeAnalysisEnum;BedSlopeAnalysisEnum;ThermalAnalysisEnum;MeltingAnalysisEnum];
-	solution_type=SteadyStateSolutionEnum;
-
-	displaystring(md.verbose,'%s',['create finite element model']);
-	femmodel=NewFemModel(md,solution_type,analyses,numanalyses);
-
-	%retrieve parameters
-	verbose=femmodel.parameters.Verbose;
-	qmu_analysis=femmodel.parameters.QmuAnalysis;
-	control_analysis=femmodel.parameters.ControlAnalysis;
-	
-	%compute solution
-	if ~qmu_analysis,
-		if ~control_analysis,
-			
-			displaystring(verbose,'%s',['call computational core']);
-			femmodel=steadystate_core(femmodel);
-
-		else,
-			
-			displaystring(verbose,'%s',['call computational core']);
-			femmodel=control_core(femmodel);
-
-		end
-
-		displaystring(verbose,'%s',['write results']);
-		results=OutputResults(femmodel.elements, femmodel.nodes , femmodel.vertices , femmodel.loads , femmodel.materials, femmodel.parameters, femmodel.results);
-		md.results.(EnumAsString(solution_type))=ProcessPatch(results);
-
-	else
-		%launch dakota driver for diagnostic core solution
-		Qmu(femmodel);
-	end
-
-	%stop timing
-	t2=clock;
-	displaystring(md.verbose,'\n%s\n',['solution converged in ' num2str(etime(t2,t1)) ' seconds']);
Index: sm/trunk/src/m/solutions/surfaceslope.m
===================================================================
--- /issm/trunk/src/m/solutions/surfaceslope.m	(revision 4402)
+++ 	(revision )
@@ -1,37 +1,0 @@
-function md=surfaceslope(md);
-%SURFACESLOPE - compute the surface slope of a model
-%
-%   Usage:
-%      md=surfaceslope(md)
-%
-	%timing
-	t1=clock;
-
-	numanalyses=1;
-	analyses=[SurfaceSlopeAnalysisEnum];
-	solution_type=SurfaceSlopeSolutionEnum;
-
-	displaystring(md.verbose,'%s',['create finite element model']);
-	femmodel=NewFemModel(md,solution_type,analyses,numanalyses);
-
-	%retrieve parameters
-	verbose=femmodel.parameters.Verbose;
-	qmu_analysis=femmodel.parameters.QmuAnalysis;
-
-	%compute solution
-	if ~qmu_analysis,
-		displaystring(verbose,'%s',['call computational core']);
-		femmodel=surfaceslope_core(femmodel);
-	
-		displaystring(verbose,'%s',['write results']);
-		results=OutputResults(femmodel.elements, femmodel.nodes , femmodel.vertices , femmodel.loads , femmodel.materials, femmodel.parameters, femmodel.results);
-		md.results.(EnumAsString(solution_type))=ProcessPatch(results);
-
-	else
-		%launch dakota driver for diagnostic core solution
-		Qmu(femmodel,femmodel.parameters);
-	end
-
-	%stop timing
-	t2=clock;
-	displaystring(md.verbose,'\n%s\n',['solution converged in ' num2str(etime(t2,t1)) ' seconds']);
Index: sm/trunk/src/m/solutions/thermal.m
===================================================================
--- /issm/trunk/src/m/solutions/thermal.m	(revision 4402)
+++ 	(revision )
@@ -1,36 +1,0 @@
-function md=thermal(md)
-%THERMAL - thermal solution sequence: steady state and transient
-%
-%   Usage:
-%      md=thermal(md)
-
-	%timing
-	t1=clock;
-	
-	numanalyses=2;
-	analyses=[ThermalAnalysisEnum;MeltingAnalysisEnum];
-	solution_type=ThermalSolutionEnum;
-
-	displaystring(md.verbose,'%s',['reading thermal model data']);
-	femmodel=NewFemModel(md,solution_type,analyses,numanalyses);
-
-	%retrieve parameters
-	verbose=femmodel.parameters.Verbose;
-	qmu_analysis=femmodel.parameters.QmuAnalysis;
-
-	%compute solution
-	if ~qmu_analysis,
-		displaystring(verbose,'%s',['call computational core']);
-		femmodel=thermal_core(femmodel);
-
-		displaystring(verbose,'%s',['write results']);
-		results=OutputResults(femmodel.elements, femmodel.nodes , femmodel.vertices , femmodel.loads , femmodel.materials, femmodel.parameters, femmodel.results);
-		md.results.(EnumAsString(solution_type))=ProcessPatch(results);
-	else
-		%launch dakota driver for diagnostic core solution
-		Qmu(models,models.t.parameters);
-	end
-
-	%stop timing
-	t2=clock;
-	displaystring(md.verbose,'\n%s\n',['solution converged in ' num2str(etime(t2,t1)) ' seconds']);
Index: sm/trunk/src/m/solutions/transient2d.m
===================================================================
--- /issm/trunk/src/m/solutions/transient2d.m	(revision 4402)
+++ 	(revision )
@@ -1,39 +1,0 @@
-function md=transient2d(md);
-%TRANSIENT2D - 2d transient solution
-%
-%   Usage:
-%      md=transient(md)
-%
-%   See also: TRANSIENT3D, TRANSIENT
-
-	%timing
-	t1=clock;
-
-	numanalyses=7;
-	analyses=[DiagnosticHorizAnalysisEnum;DiagnosticVertAnalysisEnum;DiagnosticStokesAnalysisEnum;DiagnosticHutterAnalysisEnum;BedSlopeAnalysisEnum;SurfaceSlopeAnalysisEnum;PrognosticAnalysisEnum];
-	solution_type=Transient2DSolutionEnum;
-
-	displaystring(md.verbose,'%s',['create finite element model']);
-	femmodel=NewFemModel(md,solution_type,analyses,numanalyses);
-
-	%retrieve parameters
-	verbose=femmodel.parameters.Verbose;
-	qmu_analysis=femmodel.parameters.QmuAnalysis;
-
-	%compute solution
-	if ~qmu_analysis,
-		displaystring(verbose,'%s',['call computational core']);
-		femmodel=transient2d_core(femmodel);
-		
-		displaystring(verbose,'%s',['write results']);
-		results=OutputResults(femmodel.elements, femmodel.nodes , femmodel.vertices , femmodel.loads , femmodel.materials, femmodel.parameters, femmodel.results);
-		md.results.(EnumAsString(solution_type))=ProcessPatch(results);
-
-	else
-		%launch dakota driver for diagnostic core solution
-		Qmu(femmodel,femmodel.parameters);
-	end
-
-	%stop timing
-	t2=clock;
-	displaystring(md.verbose,'\n%s\n',['solution converged in ' num2str(etime(t2,t1)) ' seconds']);
Index: sm/trunk/src/m/solutions/transient3d.m
===================================================================
--- /issm/trunk/src/m/solutions/transient3d.m	(revision 4402)
+++ 	(revision )
@@ -1,38 +1,0 @@
-function md=transient3d(md);
-%
-%   Usage:
-%      md=transient3d(md)
-%
-%   See also: TRANSIENT2D, TRANSIENT
-
-	%timing
-	t1=clock;
-
-	numanalyses=9;
-	analyses=[DiagnosticHorizAnalysisEnum;DiagnosticVertAnalysisEnum;DiagnosticStokesAnalysisEnum;DiagnosticHutterAnalysisEnum;SurfaceSlopeAnalysisEnum;BedSlopeAnalysisEnum;PrognosticAnalysisEnum;ThermalAnalysisEnum;MeltingAnalysisEnum];
-	solution_type=Transient3DSolutionEnum;
-
-	displaystring(md.verbose,'%s',['create finite element model']);
-	femmodel=NewFemModel(md,solution_type,analyses,numanalyses);
-
-	%retrieve parameters
-	verbose=femmodel.parameters.Verbose;
-	qmu_analysis=femmodel.parameters.QmuAnalysis;
-
-	%compute solution
-	if ~qmu_analysis,
-		displaystring(verbose,'%s',['call computational core']);
-		femmodel=transient3d_core(femmodel);
-
-		displaystring(verbose,'%s',['write results']);
-		results=OutputResults(femmodel.elements, femmodel.nodes , femmodel.vertices , femmodel.loads , femmodel.materials, femmodel.parameters, femmodel.results);
-		md.results.(EnumAsString(solution_type))=ProcessPatch(results);
-
-	else
-		%launch dakota driver for diagnostic core solution
-		Qmu(femmodel,femmodel.parameters);
-	end
-
-	%stop timing
-	t2=clock;
-	displaystring(md.verbose,'\n%s\n',['solution converged in ' num2str(etime(t2,t1)) ' seconds']);
