tadd contact pressure field to ice floe - 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 1cc1237e7dd6b0a467dde033c5d324e4a47f75dd
 (DIR) parent 809cebdad423f7a7109fa9139f871c595df1ea16
 (HTM) Author: Anders Damsgaard <andersd@riseup.net>
       Date:   Mon, 24 Apr 2017 13:12:37 -0400
       
       add contact pressure field to ice floe
       
       Diffstat:
         M src/datatypes.jl                    |       4 ++++
         M src/icefloe.jl                      |      12 ++++++++++--
         M src/io.jl                           |       3 +++
         M src/simulation.jl                   |       1 +
       
       4 files changed, 18 insertions(+), 2 deletions(-)
       ---
 (DIR) diff --git a/src/datatypes.jl b/src/datatypes.jl
       t@@ -40,6 +40,8 @@ type IceFloeCylindrical
            contact_viscosity_tangential::float
            contact_static_friction::float
            contact_dynamic_friction::float
       +
       +    pressure::float
        end
        
        # Type for gathering data from ice floe objects into single arrays
       t@@ -80,6 +82,8 @@ type IceFloeArrays
            contact_viscosity_tangential
            contact_static_friction
            contact_dynamic_friction
       +
       +    pressure
        end
        
        #=
 (DIR) diff --git a/src/icefloe.jl b/src/icefloe.jl
       t@@ -24,6 +24,7 @@ function addIceFloeCylindrical(simulation::Simulation,
                                       contact_viscosity_tangential::float = 0.,
                                       contact_static_friction::float = 0.4,
                                       contact_dynamic_friction::float = 0.4,
       +                               pressure::float = 0.,
                                       fixed::Bool = false,
                                       rotating::Bool = true,
                                       verbose::Bool = true)
       t@@ -91,7 +92,9 @@ function addIceFloeCylindrical(simulation::Simulation,
                                         contact_viscosity_normal,
                                         contact_viscosity_tangential,
                                         contact_static_friction,
       -                                 contact_dynamic_friction
       +                                 contact_dynamic_friction,
       +
       +                                 pressure
                                        )
        
            # Overwrite previous placeholder values
       t@@ -151,7 +154,10 @@ function convertIceFloeDataToArrays(simulation::Simulation)
                                  Array(Float64, length(simulation.ice_floes)),
                                  Array(Float64, length(simulation.ice_floes)),
                                  Array(Float64, length(simulation.ice_floes)),
       -                          Array(Float64, length(simulation.ice_floes)))
       +                          Array(Float64, length(simulation.ice_floes)),
       +
       +                          Array(Float64, length(simulation.ice_floes))
       +                         )
        
            # fill arrays
            for i=1:length(simulation.ice_floes)
       t@@ -190,6 +196,8 @@ function convertIceFloeDataToArrays(simulation::Simulation)
                    simulation.ice_floes[i].contact_static_friction
                ifarr.contact_dynamic_friction[i] = 
                    simulation.ice_floes[i].contact_dynamic_friction
       +
       +        ifarr.pressure[i] = simulation.ice_floes[i].pressure
            end
        
            return ifarr
 (DIR) diff --git a/src/io.jl b/src/io.jl
       t@@ -61,6 +61,9 @@ function writeVTK(simulation::Simulation;
            WriteVTK.vtk_point_data(vtkfile, ifarr.contact_dynamic_friction,
                                    "Contact friction (dynamic) [-]")
        
       +    WriteVTK.vtk_point_data(vtkfile, ifarr.pressure,
       +                            "Pressure [Pa]")
       +
            outfiles = WriteVTK.vtk_save(vtkfile)
            if verbose
                println("Output file: " * outfiles[1])
 (DIR) diff --git a/src/simulation.jl b/src/simulation.jl
       t@@ -155,6 +155,7 @@ function zeroForcesAndTorques!(simulation::Simulation)
            for icefloe in simulation.ice_floes
                icefloe.force = zeros(2)
                icefloe.torque = 0.
       +        icefloe.pressure = 0.
            end
        end