The com5GlideSnow computational module provides the option to add an elastic cohesion force between particles based on com1DFA. This can be used for example to simulate small glide snow avalanches.
The cohesion between particles is modeled using elastic bonds with maximum strain rate. This means that the cohesion force Flk exerted by l on k is expressed by:
Where L and L0 are the distances between the particles k and l at a time t and at rest (initial time step), E is the elastic modulus of the material, Akl is the contact area between particles k and l and ekl is the unit vector
represents the strain (ϵ is positive in the case of elongation and negative in compression). If the strain exceeds a critical value ϵc the bond between the particles k and l breaks.
The contact area Akl between particles k and l reads:
hkl represents the height of the contact surface and dkl represents the length of the contact surface in the horizontal plane assuming that each particle has 6 neighbours.
The standard inputs required to perform a simulation run using :pycom1DFA
can be found here: moduleCom1DFA:Input
. There is a run script to perform a glide snow com1DFA run: :pyrunCom5GlideSnow.py
, and the configuration settings can be found in com5GlideSnow/com5GlideSnowCfg.ini
. The glide snow tool-specific parameters are:
- glideSnow is activated by setting
glideSnow
to 1- the maximum strain before breaking of the bond
cohesionMaxStrain
- the Young modulus in N/m²
cohesiveSurfaceTension
However, also several other parameters, for example the particle initialization method, friction model and parameters, are changed compared to the default configuration of :pycom1DFA
and listed in the com5GlideSnow/com5GlideSnowCfg.ini
in the com1DFA_override section.
If the elastic cohesion (glideSnow
set to 1) is activated, the bonds between particles are initialized. The construction of the bonds is done by building a triangular mesh on the particles (used as a point cloud) and the Delaunay triangulation function from matplotlib. The length L0 of the bonds at rest (initial distance between two bonded particles) is also initialized here.
Note
It is recommended to use the triangular (triangular
) initialization option (com1DFAAlgorithm:Initialize particles
) rather than the random or the uniform one in the case where cohesion is activated.
- first go to
AvaFrame/avaframe
- copy
avaframeCfg.ini
tolocal_avaframeCfg.ini
and set your desired avalanche directory name - create an avalanche directory with required input files - for this task you can use
moduleIn3Utils:Initialize Project
- copy
com5GlideSnow/com5GlideSnowCfg.ini
tocom5GlideSnow/local_com5GlideSnowCfg.ini
and if desired change configuration settings - if you are on a develop installation, make sure you have an updated compilation, see
installation:Setup AvaFrame
run: :
python3 runCom5GlideSnow.py