diff --git a/src/api_functions.jl b/src/api_functions.jl index 29f8e80..7f5c4c3 100644 --- a/src/api_functions.jl +++ b/src/api_functions.jl @@ -5,10 +5,16 @@ function add_boundary_condition!(case::Simulation, bc::NeumannBC) push!(case.neumann_boundary_conditions, bc) end + +""" +Add node to model and renumber for output +""" function add_node!(model::Model, index::Union{Int64, ASCIIString}, coords::Vector{Float64}) node = Node(index, coords) model.nodes[index] = node + node_number = length(model.nodes) + model.renum_nodes[index] = node_number end diff --git a/src/api_types.jl b/src/api_types.jl index c267cc7..8770f3c 100644 --- a/src/api_types.jl +++ b/src/api_types.jl @@ -93,6 +93,7 @@ type Model elsets :: Dict{ASCIIString, ElementSet} nsets :: Dict{ASCIIString, NodeSet} load_cases :: Dict{ASCIIString, Simulation} + renum_nodes :: Dict{Union{Int64, ASCIIString}, Int64} #settings :: Dict{AbstractString, Real} end @@ -134,6 +135,7 @@ Model(name::ASCIIString) = Model( Dict{ASCIIString, NodeSet}(), Dict{ASCIIString, ElementSet}(), Dict{ASCIIString, Simulation}(), + Dict{Union{Int64, ASCIIString}, Int64}() ) function Base.setindex!(dict::Dict{Union{ASCIIString, Int64}, Node},