Index: /issm/trunk-jpl/src/jl/solve/analyses.jl
===================================================================
--- /issm/trunk-jpl/src/jl/solve/analyses.jl	(revision 26647)
+++ /issm/trunk-jpl/src/jl/solve/analyses.jl	(revision 26648)
@@ -54,5 +54,9 @@
 end#}}}
 function GetSolutionFromInputs(analysis::StressbalanceAnalysis,ug::Vector{Float64},element::Tria) #{{{
-	error("STOP")
+
+	#Get dofs for this finite element
+	doflist = GetDofList(element,GsetEnum)
+	error("S")
+
 end#}}}
 
Index: /issm/trunk-jpl/src/jl/solve/elements.jl
===================================================================
--- /issm/trunk-jpl/src/jl/solve/elements.jl	(revision 26647)
+++ /issm/trunk-jpl/src/jl/solve/elements.jl	(revision 26648)
@@ -39,5 +39,5 @@
    #Configure vertices
    for i in 1:3
-      element.vertices[i] = vertices[element.vertexids[i]]
+		element.vertices[i] = vertices[element.vertexids[i]]
    end
 
@@ -52,2 +52,26 @@
 	
 end # }}}
+function GetDofList(element::Tria,setenum::IssmEnum) # {{{
+
+	#Define number of nodes
+	numnodes = 3
+
+	#Determine size of doflist
+	numdofs = 0
+	for i in 1:numnodes
+		numdofs += GetNumberOfDofs(element.nodes[i],GsetEnum)
+	end
+
+	#Allocate doflist vector
+	doflist = Vector{Int64}(undef,numdofs)
+
+	#enter dofs in doflist vector
+	count = 0
+	for i in 1:numnodes
+		count = GetDofList(element.nodes[i],doflist,count,GsetEnum)
+	end
+
+	println(doflist)
+	error("S")
+
+end # }}}
Index: /issm/trunk-jpl/src/jl/solve/modules.jl
===================================================================
--- /issm/trunk-jpl/src/jl/solve/modules.jl	(revision 26647)
+++ /issm/trunk-jpl/src/jl/solve/modules.jl	(revision 26648)
@@ -45,6 +45,4 @@
 	tempparams   = Parameters(Dict{IssmEnum,Parameter}())
 	tempinputs   = Inputs(-1,-1,Dict{IssmEnum,Input}())
-	tempvertices = Vector{Vertex}(undef,3)
-	tempnodes    = Vector{Node}(undef,3)
 
 	count = 0
@@ -56,5 +54,5 @@
 
 		#Call constructor and add to dataset elements
-		push!(elements,Tria(i,count,vertexids,tempvertices,nodeids,tempnodes,tempparams,tempinputs))
+		push!(elements,Tria(i,count,vertexids,Vector{Vertex}(undef,3),nodeids,Vector{Node}(undef,3),tempparams,tempinputs))
 	end
 
@@ -125,7 +123,4 @@
 	gsize = NumberOfDofs(femmodel.nodes,GsetEnum)
 
-	println(gsize)
-	error("Stop ===")
-
 	#Initialize solution vector
 	ug = Vector{Float64}(undef,gsize)
Index: /issm/trunk-jpl/src/jl/solve/nodes.jl
===================================================================
--- /issm/trunk-jpl/src/jl/solve/nodes.jl	(revision 26647)
+++ /issm/trunk-jpl/src/jl/solve/nodes.jl	(revision 26648)
@@ -86,4 +86,32 @@
 
 end# }}}
+function GetDofList(node::Node,doflist::Vector{Int64},count::Int64,setenum::IssmEnum) #{{{
+
+	if setenum==GsetEnum
+		for i in 1:node.gsize
+			count += 1
+			doflist[count] = node.gdoflist[i]
+		end
+	elseif setenum==FsetEnum
+		for i=1:node.gsize
+			if  node.fdoflist[i]!=-1
+				count += 1
+				doflist[count] = node.fdoflist[i]
+			end
+		end
+	elseif setenum==SsetEnum
+		for i=1:node.gsize
+			if  node.sdoflist[i]!=-1
+				count += 1
+				doflist[count] = node.sdoflist[i]
+			end
+		end
+	else
+		error("not supported")
+	end
+
+	return count
+
+end# }}}
 
 #Nodes functions
