rewrite assembly, see #69. a lot of tests probably fail but the most important ones pass

This commit is contained in:
Jukka Aho
2015-11-12 21:54:46 +02:00
parent 9a7db4aef1
commit 95bee76438
12 changed files with 317 additions and 370 deletions
+11
View File
@@ -14,6 +14,10 @@ function SparseMatrixIJV()
SparseMatrixIJV([], [], [])
end
function Base.sparse(A::SparseMatrixIJV)
return sparse(A.I, A.J, A.V)
end
function Base.push!(A::SparseMatrixIJV, I::Int, J::Int, V::Float64)
push!(A.I, I)
push!(A.J, J)
@@ -63,3 +67,10 @@ function add!(A::SparseMatrixIJV, dofs1::Vector{Int}, dofs2::Vector{Int}, data::
append!(A.V, vec(data))
end
""" Sparse vector version. """
function add!(A::SparseMatrixIJV, dofs::Vector{Int}, data::Array{Float64})
append!(A.I, dofs)
append!(A.J, ones(Int, length(dofs)))
append!(A.V, vec(data))
end