trefine contact traversal - Granular.jl - Julia package for granular dynamics simulation
(HTM) git clone git://src.adamsgaard.dk/Granular.jl
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
(DIR) commit befaa9756218d879b9012617fa077d6cbf84071b
(DIR) parent 9b7021eaf1f85e78038bef777a1ec81b8b45934f
(HTM) Author: Anders Damsgaard <andersd@riseup.net>
Date: Fri, 2 Jun 2017 13:15:35 -0400
refine contact traversal
Diffstat:
M src/io.jl | 43 ++++++++++++++++++++-----------
1 file changed, 28 insertions(+), 15 deletions(-)
---
(DIR) diff --git a/src/io.jl b/src/io.jl
t@@ -135,12 +135,13 @@ function writeIceFloeInteractionVTK(simulation::Simulation,
verbose::Bool=false)
# Save ice-floe indexes and metrics for all interactions
- i1 = []
- i2 = []
- force = []
- shear_displacement_1 = []
- shear_displacement_2 = []
- contact_age = []
+ i1 = Int64[]
+ i2 = Int64[]
+ inter_particle_vector = Array{float, 1}[]
+ force = float[]
+ shear_displacement_1 = float[]
+ shear_displacement_2 = float[]
+ contact_age = float[]
for i=1:length(simulation.ice_floes)
for ic=1:Nc_max
if simulation.ice_floes[i].contacts[ic] > 0
t@@ -177,22 +178,23 @@ function writeIceFloeInteractionVTK(simulation::Simulation,
end
- append!(i1, i)
- append!(i2, j)
+ push!(i1, i)
+ push!(i2, j)
+ push!(inter_particle_vector, p)
- append!(force, k_n*δ_n)
+ push!(force, k_n*δ_n)
- append!(shear_displacement_1, simulation.ice_floes[i].
- contact_parallel_displacement[ic][1])
- append!(shear_displacement_2,
- simulation.ice_floes[i].
- contact_parallel_displacement[ic][2])
+ push!(shear_displacement_1, simulation.ice_floes[i].
+ contact_parallel_displacement[ic][1])
+ push!(shear_displacement_2, simulation.ice_floes[i].
+ contact_parallel_displacement[ic][2])
- append!(contact_age, simulation.ice_floes[i].contact_age[ic])
+ push!(contact_age, simulation.ice_floes[i].contact_age[ic])
end
end
end
+ println(inter_particle_vector)
# Insert a piece for each ice floe interaction using ice floe positions as
# coordinates and connect them with lines by referencing their indexes.
open(filename * ".vtp", "w") do f
t@@ -211,6 +213,17 @@ function writeIceFloeInteractionVTK(simulation::Simulation,
write(f, " <CellData>\n")
# Write values associated to each line
+ write(f, " <DataArray type=\"Float32\" " *
+ "Name=\"Inter-particle vector [m]\" " *
+ "NumberOfComponents=\"3\" format=\"ascii\">\n")
+ for i=1:length(i1)
+ write(f, "$(inter_particle_vector[i][1]) ")
+ write(f, "$(inter_particle_vector[i][2]) ")
+ write(f, "0.0 ")
+ end
+ write(f, "\n")
+ write(f, " </DataArray>\n")
+
write(f, " <DataArray type=\"Float32\" Name=\"Force [N]\" " *
"NumberOfComponents=\"1\" format=\"ascii\">\n")
for i=1:length(i1)