| tonly write interaction information if interactions occur - Granular.jl - Julia… | |
| git clone git://src.adamsgaard.dk/Granular.jl | |
| Log | |
| Files | |
| Refs | |
| README | |
| LICENSE | |
| --- | |
| commit 27b1f0f8266144d202c7c3e4f9f6952be5826b13 | |
| parent 1a172b917e27a63dd6938ef42cdb58383c5d8da0 | |
| Author: Anders Damsgaard <[email protected]> | |
| Date: Wed, 22 Nov 2017 14:30:16 -0500 | |
| only write interaction information if interactions occur | |
| Diffstat: | |
| M src/io.jl | 76 ++++++++++++++++-------------… | |
| 1 file changed, 39 insertions(+), 37 deletions(-) | |
| --- | |
| diff --git a/src/io.jl b/src/io.jl | |
| t@@ -1210,38 +1210,38 @@ function plotGrains(sim::Simulation; | |
| tensile_stress = Float64[] | |
| shear_displacement = Vector{Float64}[] | |
| contact_age = Float64[] | |
| - for i=1:length(simulation.grains) | |
| - for ic=1:simulation.Nc_max | |
| - if simulation.grains[i].contacts[ic] > 0 | |
| - j = simulation.grains[i].contacts[ic] | |
| + for i=1:length(sim.grains) | |
| + for ic=1:sim.Nc_max | |
| + if sim.grains[i].contacts[ic] > 0 | |
| + j = sim.grains[i].contacts[ic] | |
| - if !simulation.grains[i].enabled || | |
| - !simulation.grains[j].enabled | |
| + if !sim.grains[i].enabled || | |
| + !sim.grains[j].enabled | |
| continue | |
| end | |
| - p = simulation.grains[i].lin_pos - | |
| - simulation.grains[j].lin_pos | |
| + p = sim.grains[i].lin_pos - | |
| + sim.grains[j].lin_pos | |
| dist = norm(p) | |
| - r_i = simulation.grains[i].contact_radius | |
| - r_j = simulation.grains[j].contact_radius | |
| + r_i = sim.grains[i].contact_radius | |
| + r_j = sim.grains[j].contact_radius | |
| δ_n = dist - (r_i + r_j) | |
| R_ij = harmonicMean(r_i, r_j) | |
| - if simulation.grains[i].youngs_modulus > 0. && | |
| - simulation.grains[j].youngs_modulus > 0. | |
| - E_ij = harmonicMean(simulation.grains[i]. | |
| + if sim.grains[i].youngs_modulus > 0. && | |
| + sim.grains[j].youngs_modulus > 0. | |
| + E_ij = harmonicMean(sim.grains[i]. | |
| youngs_modulus, | |
| - simulation.grains[j]. | |
| + sim.grains[j]. | |
| youngs_modulus) | |
| - A_ij = R_ij*min(simulation.grains[i].thickness, | |
| - simulation.grains[j].thickness) | |
| + A_ij = R_ij*min(sim.grains[i].thickness, | |
| + sim.grains[j].thickness) | |
| k_n = E_ij*A_ij/R_ij | |
| else | |
| - k_n = harmonicMean(simulation.grains[i]. | |
| + k_n = harmonicMean(sim.grains[i]. | |
| contact_stiffness_normal, | |
| - simulation.grains[j]. | |
| + sim.grains[j]. | |
| contact_stiffness_normal) | |
| end | |
| t@@ -1256,10 +1256,10 @@ function plotGrains(sim::Simulation; | |
| push!(contact_stiffness, k_n) | |
| push!(tensile_stress, k_n*δ_n/A_ij) | |
| - push!(shear_displacement, simulation.grains[i]. | |
| + push!(shear_displacement, sim.grains[i]. | |
| contact_parallel_displacement[ic]) | |
| - push!(contact_age, simulation.grains[i].contact_age[ic]) | |
| + push!(contact_age, sim.grains[i].contact_age[ic]) | |
| end | |
| end | |
| end | |
| t@@ -1318,24 +1318,26 @@ function plotGrains(sim::Simulation; | |
| set size ratio -1 | |
| set key off\n""") | |
| - max_tensile_stress = maximum(abs.(tensile_stress)) | |
| - max_line_with = 5. | |
| - if plot_interactions | |
| - write(f, "set cbrange [-$max_tensile_stress:$max_tensile_stress]\n… | |
| - for i=1:length(i1) | |
| - write(f, "set arrow $i from " * | |
| - "$(sim.grains[i1[i]].lin_pos[1])," * | |
| - "$(sim.grains[i1[i]].lin_pos[2]) to " * | |
| - "$(sim.grains[i2[i]].lin_pos[1])," * | |
| - "$(sim.grains[i2[i]].lin_pos[2]) ") | |
| - if tensile_stress[i] > 0 | |
| - write(f, "nohead ") | |
| - else | |
| - write(f, "doublehead ") | |
| + if length(i1) > 0 | |
| + max_tensile_stress = maximum(abs.(tensile_stress)) | |
| + max_line_with = 5. | |
| + if plot_interactions | |
| + write(f, "set cbrange [-$max_tensile_stress:$max_tensile_stres… | |
| + for i=1:length(i1) | |
| + write(f, "set arrow $i from " * | |
| + "$(sim.grains[i1[i]].lin_pos[1])," * | |
| + "$(sim.grains[i1[i]].lin_pos[2]) to " * | |
| + "$(sim.grains[i2[i]].lin_pos[1])," * | |
| + "$(sim.grains[i2[i]].lin_pos[2]) ") | |
| + if tensile_stress[i] > 0 | |
| + write(f, "nohead ") | |
| + else | |
| + write(f, "doublehead ") | |
| + end | |
| + write(f, "lw $(abs(tensile_stress[i])/ | |
| + max_tensile_stress*max_line_width) ") | |
| + write(f, "lc palette cb $(tensile_stress[i])\n") | |
| end | |
| - write(f, "lw $(abs(tensile_stress[i])/ | |
| - max_tensile_stress*max_line_width) ") | |
| - write(f, "lc palette cb $(tensile_stress[i])\n") | |
| end | |
| end | |