Granular.jl

Julia package for granular dynamics simulation
git clone git://src.adamsgaard.dk/Granular.jl
Log | Files | Refs | README | LICENSE

commit 8d60b817d9aea49606c4825e1bded8bb301abf97
parent 6cae14d2d556f2ffca3af96ea249e1aac632ce7d
Author: Anders Damsgaard <andersd@riseup.net>
Date:   Mon,  1 May 2017 12:05:50 -0400

save output-file interval in simulation structure, increment with current time

Diffstat:
Msrc/datatypes.jl | 1+
Msrc/io.jl | 6++----
Msrc/simulation.jl | 8++++----
Msrc/temporal.jl | 1+
4 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/src/datatypes.jl b/src/datatypes.jl @@ -168,6 +168,7 @@ type Simulation time_step::Float64 file_time_step::Float64 file_number::Int + file_time_since_output_file::Float64 ice_floes::Array{IceFloeCylindrical, 1} contact_pairs::Array{Array{Int, 1}, 1} diff --git a/src/io.jl b/src/io.jl @@ -160,13 +160,11 @@ end export removeSimulationFiles """ - removeSimulationFiles(simulation[, folder, verbose]) + removeSimulationFiles(simulation[, folder]) Remove all simulation output files from the specified folder. """ -function removeSimulationFiles(simulation::Simulation; - folder::String=".") - +function removeSimulationFiles(simulation::Simulation; folder::String=".") run(`bash -c "rm -rf $(folder)/$(simulation.id).*.vtu"`) run(`bash -c "rm -rf $(folder)/$(simulation.id).*.vts"`) end diff --git a/src/simulation.jl b/src/simulation.jl @@ -26,6 +26,7 @@ function createSimulation(;id::String="unnamed", time_step::Float64=-1., file_time_step::Float64=-1., file_number::Int=0, + file_time_since_output_file::Float64=0., ice_floes=Array{IceFloeCylindrical, 1}[], contact_pairs=Array{Int64, 1}[], overlaps=Array{Array{Float64, 1}, 1}[], @@ -38,6 +39,7 @@ function createSimulation(;id::String="unnamed", time_step, file_time_step, file_number, + file_time_since_output_file, ice_floes, contact_pairs, overlaps, @@ -89,15 +91,14 @@ function run!(simulation::Simulation; checkTimeParameters(simulation) - time_since_output_file = 0.0 while simulation.time <= simulation.time_total if simulation.file_time_step > 0.0 && - time_since_output_file >= simulation.file_time_step + simulation.file_time_since_output_file >= simulation.file_time_step writeVTK(simulation, verbose=show_file_output) - time_since_output_file = 0.0 + simulation.file_time_since_output_file = 0.0 end if verbose && simulation.time_iteration % status_interval == 0 @@ -120,7 +121,6 @@ function run!(simulation::Simulation; # Update time variables simulation.time_iteration += 1 incrementCurrentTime!(simulation, simulation.time_step) - time_since_output_file = time_since_output_file + simulation.time_step if single_step return diff --git a/src/temporal.jl b/src/temporal.jl @@ -38,6 +38,7 @@ function incrementCurrentTime!(simulation::Simulation, t::float) error("Current time increment should be a positive value (t = $t s)") end simulation.time += t + simulation.file_time_since_output_file += t end export setOutputFileInterval!