Articles | Volume 16, issue 23
Model description paper
30 Nov 2023
Model description paper |  | 30 Nov 2023

AvaFrame com1DFA (v1.3): a thickness-integrated computational avalanche module – theory, numerics, and testing

Matthias Tonnel, Anna Wirbel, Felix Oesterle, and Jan-Thomas Fischer

Simulation tools are important to investigate and predict mobility and the destructive potential of gravitational mass flows (e.g., snow avalanches). AvaFrame – the open avalanche framework – offers well-established computational modeling approaches, tools for data handling and analysis, and ready-to-use modules for evaluation and testing. This paper presents the theoretical background, derivation, and model verification for one of AvaFrame's core modules, the thickness-integrated computational model for avalanches with flow or mixed form of movement, named com1DFA. Particular emphasis within the description of the utilized numerical particle–grid method is given to the computation of spatial gradients and the accurate implementation of driving and resisting forces. The implemented method allows us to provide a time–space criterion connecting the numerical particles, grid, and time discretization. The convergence and robustness of the numerical implementation is checked with respect to the spatiotemporal evolution of the flow variables using tests with a known analytical solution. In addition, we present a new test for verifying the accuracy of the numerical simulation in terms of runout (angle and distance). This test is derived from the total energy balance along the center-of-mass path of the avalanche. This article, particularly in combination with the code availability (open-source code repository) and detailed online documentation provides a description of an extendable framework for modeling and verification of avalanche simulation tools.

1 Introduction

Simulation tools for gravitational mass flows – with a focus on snow avalanches in this article – are in great demand for operational engineering applications and scientific model development and are gaining increasing attention in academic education. Each of these application requires different outputs. For operational engineering applications, the runout outcome for different scenarios is usually of highest interest. Scientific applications aim at better understanding the processes and will require outputs such as flow variable evolution. Existing tools for simulating snow avalanches cover a wide range of numerical implementations and vary from proprietary (e.g., Christen et al.2010; Sampl and Zwinger2004; Zugliani and Rosatti2021; Li et al.2021) to open-source software (e.g., Hergarten and Robl2015; Mergili et al.2017; Rauter et al.2018). The latter ones are generally more focused towards scientific and academic issues, whereas the first are more geared towards operational applications. AvaFrame – the open avalanche framework – strives to fill the gap between operations and scientific development combining over a decade of operational application (using, e.g., SamosAT; see Sampl and Zwinger2004; Fischer et al.2014) with an open-source scientific development environment. Using a modular structure AvaFrame adds in-depth testing and analysis modules to the core flow modules. Further modules provide interfaces for visualization and geodata handling for all kinds of existing and emerging simulation tools. It enables us to combine, further develop, and extend the different tools to best suit the users needs.

At their core, avalanche simulation tools are based on a large variety of flow models, differing in their basic assumptions (what physical processes they include, degree of complexity), mathematical derivation, and/or their numerical implementation. These range from Eulerian methods (Christen et al.2010; Mergili et al.2017; Rauter and Tuković2018; Zugliani and Rosatti2021) using spatially fixed meshes to Lagrangian methods (Sampl and Zwinger2004) where the mass is discretized. Some methods are combinations of Eulerian and Lagrangian approaches, such as the Material Point method (Stomakhin et al.2013). AvaFrame's com1DFA dense-flow avalanche (DFA) module is based on a flow model that is derived from the thickness integration of the conservation equations of mass and momentum. Classic shallow-water models, e.g., Saint-Venant, integrate in the direction of gravity, often called “depth” integration. Other approaches, such as Savage–Hutter models (Savage and Hutter1989) integrate in the slope-normal direction but also call it “depth” integrated. To be more consistent with operational terminology, we propose calling the integration in the slope-normal direction “thickness” integration. In this way, we can highlight the special case of gravitational mass flows in steep terrain.

The resulting equations are solved using a mixed particle–grid method, in which mass is tracked using particles. Pressure gradients are computed using a smooth particle hydrodynamics (SPH) method adapted to steep terrain and flow thickness is computed on the grid (Sampl and Zwinger2004; Monaghan2005; Liu and Liu2010; Granig et al.2016). To avoid nonphysical behavior at starting and stopping, com1DFA applies the method proposed in Mangeney-Castelnau et al. (2003), allowing for a friction balanced starting and stopping of the flow.

Verifying and validating the methods applied in our implementation is a challenging but crucial step, as it is for all simulation tools. Verification is done by comparing the numerical model results to an analytical solution (e.g., Zugliani and Rosatti2021; Rauter and Tuković2018). Validation can be tackled in different ways, either by comparing the model results to observations (e.g., Christen et al.2010) or by comparing them to the results of already trusted numerical models. In this article, the focus is on model verification, and the numerical model results are compared to tests with known (semi-)analytical solutions using two different approaches.

The flow variable tests (Hutter et al.1993; Faccanoni and Mangeney2013) allow us to investigate the local spatiotemporal evolution of flow thickness and velocity. This enables us to verify the proper implementation of the pressure gradient and friction force computation among others. In contrast, the energy line test is based on the investigation of the total energy balance (Körner1980). It focuses on the accuracy of the global kinetic energy (velocity) along the path and the corresponding center-of-mass runout. Thereby, the proper implementation of stopping behavior, that is to say the proper balancing of driving and friction forces, can be assessed. It also provides a test where the runout, a quantity which is important for operational applications, is tested. We explore and explain the limitations of these two approaches.

The article is structured as follows. Section 2 summarizes the underlying flow model, including fundamental assumptions and derivations of the thickness-integrated equations, building the foundation for the gravitational mass flow simulations. In Sect. 3 the temporal and spatial discretizations of the model equations, employing a particle–grid approach, are described. The implementation in the AvaFrame computational module com1DFA is outlined in Sect. 4. Model verification tests are presented in Sect. 5, targeting the correct implementation of the mathematical model and the convergence and robustness of the numerical model code. In addition to employing test cases with a known (semi-)analytical solution, a new energy line test is introduced in Sect. 5.2.

Besides the in-depth description within this article, Oesterle et al. (2022) provide a combination of code and corresponding documentation. Users find more information according to their individual scientific, operational, or educational focus, and the reader is invited to contribute to the future development. It is important to note that this article presents the latest development state of the com1DFA module. It differs slightly from the implementation of the com1DFA module used for operational purposes, which is described in the online AvaFrame documentation. For example, differences include improvements of the SPH gradient computation method and how friction forces are taken into account.

2 Mathematical model: from 3D equations to thickness-integrated Lagrangian equations

In this section, the mathematical model and associated equations used to simulate DFA processes are presented. The derivation is based on the thickness integration of the three-dimensional Navier–Stokes equations, using a Lagrangian approach with a terrain-following coordinate system. The equations are simplified using the assumption of shallow flow on a mildly curved topography, meaning flow thickness is considerably smaller than the length and width of the avalanche, and it is considerably smaller than the topography curvature radius.

We consider snow as the material; however, the choice of material does not influence the derivation in the first place. We assume constant density ρ0 and a flow on a surface 𝒮, subjected to the gravity force and friction on the surface 𝒮. If needed, additional processes such as entrainment or other external effects can be taken into account. These processes are included in the following derivations but will not be considered for model verification (Sect. 5), as test cases with an analytical solution are only available for simplified conditions where entrainment or any additional forces are discarded. The mass conservation equation applied to a Lagrangian volume of material V(t) reads:

(1) d d t V ( t ) ρ 0 d V m ( t ) = ρ 0 d V ( t ) d t = V ( t ) q ent d A ,

where the source term qent represents the snow entrainment rate (incoming mass flux). The momentum conservation equation applied to the same volume of material V(t) reads as follows:

(2) d d t V ( t ) ρ 0 u d V = V ( t ) σ n d A surface forces + V ( t ) ρ 0 g d V body force + F ext ,

where u is the fluid velocity and g the gravity acceleration. σ=-p𝟙+T represents the stress tensor, where 𝟙 is the identity tensor, p the pressure, and T the deviatoric part of the stress tensor. n is the normal vector on V(t). Fext represents additional forces due to snow entrainment (force needed to break and compact the entrained snow) or due to added resistance (trees, obstacles, etc.). Fext is assumed to be surface parallel. Problem-specific assumptions are needed to solve the mass and momentum conservation equations (closure equation on the stress tensor in Sect. 2.2). These constitutive equations are introduced in the following sections alongside a local coordinate system and boundary conditions.

2.1 Natural coordinate system (NCS) and thickness-integrated quantities

In order to solve the previously described equations, a local coordinate system is introduced. The avalanche flows on a surface 𝒮, a 2D manifold embedded in the 3D Euclidian space. Different approaches exist to define a coordinate system on this curved surface. Some define a tangent space in every point on 𝒮 based on the coordinate lines, which leads to an orthogonal but not orthonormal coordinate system for a curved surface 𝒮 (e.g., Luca et al.2016). Instead of this and because of the Lagrangian approach used here, we define a local coordinate system in the tangent plane to 𝒮 at any point using the velocity direction and the normal to the surface 𝒮 at this position. This results in a time-dependent orthonormal coordinate system that is advected along with the flow, referred to as the natural coordinate system (NCS).

A control volume V(t) is assumed to be a small truncated pyramid shape extending from the bottom surface 𝒮b (lying on the topography 𝒮) up to the free surface in the surface-normal direction Nb as illustrated in Fig. 1. With the assumption of moderately curved surfaces, this is close to being a prism shape since the normals of the lateral surfaces are almost parallel to the bottom. Note that the bottom surface 𝒮b of area Ab has no predefined shape. The octagonal shape used in Fig. 1 is just one possible option.

The normal vector Nb to the bottom surface is pointing upwards, whereas nb=-Nb is the bottom normal vector to the Lagrangian control volume (pointing out of the volume).

(3) V ( t ) = V ( t ) d V = S b b s det ( J ) d x 3 d A ,

where J is the transformation matrix from the Cartesian coordinate system to the NCS. The NCS is an orthonormal coordinate system (v1,v2,v3) aligned with the bottom surface. v3=Nb=-nb is the normal vector to the bottom surface pointing upwards. v1 is pointing in the direction of the thickness-integrated fluid velocity u (introduced below).

(4) v 1 = u u , v 2 = v 3 v 1 v 3 v 1 , v 3 = N b .

In the case of shallow flow on weakly curved surfaces, det(J)=(1-κ1x3)(1-κ2x3)1. κ{1,2} represents the surface curvature in v{1,2} directions, while x3 is the elevation from the bottom surface in the direction Nb. This approximation is valid if the curvature radius is much larger than the flow thickness h. In this case, the control volume reads as follows:

(5) V ( t ) S b b s d x 3 h ( t ) d A .

Figure 1Example of a small Lagrangian volume considered in the equations and corresponding notations. The gray surface (denoted 𝒮) represents the bottom surface (topography), and 𝒯𝒫 represents the tangent plane to the surface at the point O. The normal vector to 𝒮 and 𝒯𝒫 in O is v3=Nb. The control volume, represented in blue, has a basal surface 𝒮b lying in 𝒯𝒫, a lateral surface 𝒮l aligned with Nb, and a free surface 𝒮fs.


The following volume (indicated by the superscript ̃), area (indicated by the superscript ^), and thickness (indicated by the superscript ) averaged quantities are introduced (where f is a scalar or vector function on Ω⊂ℛ3):

(6) f ̃ = 1 V ( t ) V ( t ) f d V f ^ = 1 A b ( t ) S b f d A f = 1 h ( t ) 0 h ( t ) f d x 3 and f ̃ ( x 3 ) = 1 A b ( h ^ - x 3 ) S b x 3 h ( t ) f det ( J ) d x 3 d A 1 A b ( h ^ - x 3 ) S b x 3 h ( t ) f d x 3 d A f ( x 3 ) = 1 ( h - x 3 ) x 3 h ( t ) f d x 3 .

Note that f̃(0)=f̃ and f(0)=f. When the control volume goes to 0, i.e., basal area goes to a point, f̃Ab0f and f^Ab0f. Also, note that we assume integration on a tangent plane being equivalent to integration on a small surface in the manifold defined by the terrain (or 3D space in which the terrain is embedded). This is justified by the relative smallness of the basal particle surface compared to the curvature.

The NCS has some interesting properties that will be useful for projecting and solving the equations. Because of the orthogonality of this NCS, we have vivj=δij,{i,j}{1,2,3}2, which gives after time derivation:

(7) d ( v i v j ) d t = v i d v j d t + d v i d t v j = 0 ,

meaning that

(8) d v i d t v i = 0 d v i d t v i d v i d t v j = - v i d v j d t , i j .

It is possible to express dv1dt in terms of (v1,v2,v3) and using orthogonality of dvidt and vi:

(9) d v 1 d t = α i v i = + α 2 v 2 + α 3 v 3 , α i = d v 1 d t v i .

The derivative of the thickness-integrated velocity decomposes to

(10) d u d t = d ( u 1 v 1 ) d t = u 1 d v 1 d t + d u 1 d t v 1 = u 1 ( α 2 v 2 + α 3 v 3 ) + d u 1 d t v 1 .

2.2 Boundary conditions

To complete the conservation Eqs. (1) and (2) the following boundary conditions at the bottom (𝒮b) and free (𝒮fs) surfaces are introduced. σs and σb represent the restriction of σ to the free surface 𝒮fs and bottom surface 𝒮b, respectively:

  • traction-free top surface –

    (11) σ s n s = 0 on S fs ;
  • impenetrable bottom surface without detachment –

    (12) u b n b = 0 on S b ;
  • bottom friction law –

    (13) τ b = σ b n b - ( ( σ b n b ) n b ) n b = f ( σ b , u , h , ρ 0 , t , x ) = - f ( σ b , u , h , ρ 0 , t , x ) v 1 on  S b .

2.3 Constitutive relation: friction force

To close the momentum equation, a constitutive equation describing the basal shear stress tensor τb as a function of the avalanche flow state is required:

(14) τ b = f σ b , u , h , ρ 0 , t , x ) .

The model verification tests (Sect. 5) are carried out with a Mohr–Coulomb friction model, which describes the friction interaction between two solids. The bottom shear stress reads as follows:

(15) τ b = - tan δ σ b n b u u ,

where δ is the friction angle and μ=tan δ is the friction coefficient. The bottom shear stress linearly increases with the normal stress component pb.

With Mohr–Coulomb friction an avalanche starts to flow if the slope inclination exceeds the friction angle δ. In the case of an infinite slope of constant inclination, the avalanche velocity would increase indefinitely. However, because of its relative simplicity, the Mohr–Coulomb friction model is convenient for deriving analytical solutions and testing numerical implementations. For a more detailed discussion of friction laws and their applicability, we refer to Salm and Gubler (1985); Gubler (1987); Gauer (2014).

Different friction models accounting for the influence of flow velocity, flow thickness, etc., have been proposed. Three friction models are available in the com1DFA module. First, a Coulomb one, which is used in this paper, second a Voellmy friction model (Voellmy1955), and third the samosAT friction model, which is the one used for hazard mapping by Austrian federal agencies (Sampl2007).

2.4 Expression of surface forces in the NCS

Taking advantage of the NCS and using the boundary conditions, it is possible to split the surface forces into bottom, lateral, and free surface forces and perform further simplifications:


Using the notations introduced in Sect. 2.1 and the decomposition of the stress tensor, the bottom force can be expressed as a surface-normal component and a surface-tangential one:

(17) S b σ b n b d A = S b ( - p b 𝟙 + T ) n b d A = - S b p b n b d A + S b T n b d A = - S b p b n b d A + S b τ b d A = - A b p b n b ^ + A b τ b ^ ,

where τb is the basal friction term (introduced in Sect. 2.2). Applying Green's theorem, the lateral force reads as follows:

(18) S b 0 h σ n d x 3 d l = S b 0 h ( - p 𝟙 + T ) d x 3 n d l = - S b 0 h p d x 3 n d l + S b 0 h T d x 3 n d l = - S b h p n d l + S b h T n d l = - S b ( h p ) d A + S b ( h T ) d A = - A b ( h p ) ^ + A b ( h T ) ^ .

Equations (17) and (18) represent the thickness-integrated form of the surface forces and can now be used to write the thickness integrated momentum equation.

2.5 Thickness-integrated momentum equation

Using the definitions of average values given in Sect. 2.1 and the decomposition of the surface forces given by Eqs. (17) and (18), the momentum equation reads as follows:

(19) ρ 0 d ( V ( t ) u ̃ ) d t = ρ 0 V d u ̃ d t + ρ 0 u ̃ d V d t = V ( t ) σ n d A + ρ 0 V g + F ext ,

which leads to

(20) ρ 0 V d u ̃ d t = - A b p n b ^ bottom  normal force  + A b τ b ^ bottom  shear force  - A b ( h p ) ^ lateral  pressure force  + lateral  shear force  + ρ 0 V g + F ext - u ̃ V ( t ) q ent d A .  speed loss due   to entrainment  .

The lateral shear stress term is neglected because of its relative smallness in comparison to the other terms as shown by the dimensional analysis carried out in Gray and Edwards (2014). The mass conservation reads as follows:

(21) ρ 0 d V d t = V ( t ) q ent d A .

Using the approximations from Sect. 2.1, the equation of motion becomes

(22) ρ 0 V d u d t = - A b p n b + A b τ b - A b ( h p ) + ρ 0 V g + F ext - u V ( t ) q ent d A ,

where all quantities are evaluated at the center of the basal area (point O in Fig. 1). This equation is projected in the normal direction v3=Nb to get the expression of the basal pressure pb. The projection of this same equation on the tangential plane leads to the differential equations satisfied by u.

2.5.1 Pressure distribution, thickness-integrated pressure, and pressure gradient

We can project the momentum equation (Eq. 22), using the volume between x3 and the surface h, in the normal direction (v3=Nb=-nb). Applying the properties of the NCS (Eq. 10) the surface-normal component of Eq. (22) reads as follows:


Neglecting the normal component of the pressure gradient gives the expression for pressure. Under the condition that u is independent of x3, pressure follows a linear profile from the bottom surface to the free surface:

(24) p ( x 3 ) = ρ 0 ( h - x 3 ) - g N b - u d N b d t and p ( x 3 = 0 ) = p b = ρ 0 h - g N b - u d N b d t .

Note that the bottom pressure should always be positive. A negative pressure is nonphysical and means that the material is not in contact with the bottom surface anymore. This can happen in the case of large velocities on convex topography. If so, the material should be in a free-fall state until it gets back in contact with the topography. A description on how this is handled within the numerical implementation can be found in Sect. 4.3.

Using Eq. (24), it is possible to express the thickness-integrated pressure p:

(25) h p = 0 h p ( x 3 ) d x 3 = - ρ 0 h 2 2 g N b + u d N b d t = - ρ 0 h 2 2 g eff ,

where geff is the effective normal acceleration acting on the volume, including the normal component of gravity and a curvature component. Because of the utilized Lagrangian approach, the curvature terms are expressed as the temporal derivative of the normal vector dNbdt, effectively computing the curvature along the particle trajectories. The resulting curvatures are equivalent to the ones obtained through Eulerian approaches (Fischer et al.2012) but does not require the computation of the related κ{1,2}.

The expression of the thickness-integrated pressure is used to derive the pressure gradient (hp). Assuming geff to be locally constant (i.e., effectively neglecting curvature; otherwise geff would remain inside the gradient operator) leads to

(26) ( h p ) = - ρ 0 g eff h h .

2.5.2 Tangential momentum equation

Using the derived expression of the thickness-integrated pressure (Eq. 26), we project the momentum balance (Eq. 22) in the tangent plane, which leads to the following equation:

(27) ρ 0 V d u d t - d u d t v 3 v 3 = A b τ b - ρ 0 g eff h A b s h + ρ 0 V g s + F ext - u V ( t ) q ent d A ,

where s=-(Nb)Nb and gs=g-(gNb)Nb are the tangential component of the gradient operator and of the gravity acceleration, respectively.

After replacing the velocity derivative component in the normal direction with the expression developed in Eq. (23), Eq. (27) reads as follows:

(28) ρ 0 V d u d t = A b τ b - ρ 0 g eff h A b s h + ρ 0 V g s + F ext - u V ( t ) q ent d A - ρ 0 V u d v 3 d t v 3 . curvature acceleration ,

The curvature acceleration is in the normal direction to the tangent plane in order to keep the flow on the surface.

3 Numerical method: particle–grid approach

In the previous section, the equation of motion was derived using a Lagrangian approach. In order to solve this set of equations numerically, we employ a mix of particle and grid approaches. We discretize the material into numerical particles and solve the equation of motion, with the total avalanche mass being the sum of the mass associated with each particle. The grid is used to compute several parameters that are required for the computations, e.g., surface-normal vectors and flow thickness. Combining both approaches allows us to best exploit the advantages of each. The particle approach is used to track the mass, compute the curvature terms and the gradient of the flow thickness, and update the particle positions. The grid is used to handle the topography information and compute the flow thickness and artificial viscosity. We found this to help with numerical stability, and it is more efficient as it decreases the required number of particles. A theoretical convergence criterion is described in the last section.

3.1 Interpolation between particle and grid values

Topography information is usually provided in a raster format which corresponds to a regular rectilinear mesh on the global horizontal xy plane, henceforth referred to as grid. In order to get information on the surface elevation and normal vectors, the topography information needs to be interpolated at the particle locations, and this needs to be repeated at each time step since the particles are moving. Similarly, the particle properties such as mass or momentum, which translate into flow thickness and velocity, also need to be interpolated onto the grid. Grid velocity is required to compute the artificial viscosity term, ensuring numerical stability; see Sect. 4.2. Grid flow thickness is used to compute the particle flow thickness, which is required for computing the frictional forces. The mesh being regular and rectilinear, we use bilinear interpolation for simplicity and efficiency. This also ensures the conservation of mass or momentum when interpolating from the particles to the grid and back. The properties of the grid and the interpolation method are detailed in the AvaFrame documentation (, last access: 5 October 2023).

3.2 The particle momentum equation

Discretizing the material into particles (particle quantities are denoted by the subscript k; e.g., mk=ρ0Vk is the mass of particle k) leads to the following continuity equation:

(29) d d t m k = A k ent q ent ,

where Akent is the interface area between the particle and the entrainable material while qkent represents the flux of entrained mass.

By assuming that the Lagrangian control volume V can be represented by a particle, we can derive the particle momentum equation in the normal direction and in the tangent plane:

(30) p k b = ρ 0 h k g k eff m k d u k d t = A k b τ b - m k g k eff s h + m k g s + F k ext - u k A k ent q k ent - m k u k d v 3 , k d t v 3 , k .

In this equation, flow thickness gradient, basal friction, and curvature acceleration terms need to be further developed and discretized.

3.3 Flow thickness and its gradient

3.3.1 Flow thickness gradient computation using SPH

To assess the flow thickness gradient, we employ an SPH method (smoothed particles hydrodynamics method (Liu and Liu2010)), where the gradient is directly derived from the particles and does not require any mesh. In contrast, a mesh method or an MPM (material point method) would directly use a mesh formulation to approximate the gradient or interpolate the particle properties on an underlying mesh and then approximate the gradient of the flow thickness using a mesh formulation. There are two main advantages of using SPH. First is the computational efficiency, since only the particles of interest are computed without needing to compute the area of the whole terrain (as with Eulerian methods). Second, mass transfer is not required because it is handled by the particles directly, making the implementation easier (Granig et al.2016).

In theory, an SPH method does not require any mesh to compute the gradient. However, applying this method requires finding neighbor particles. This process can be sped up with the help of an underlying grid; different neighbor search methods are presented in Ihmsen et al. (2014), and a “uniform grid method” is used in this paper.

The SPH method is used to express a quantity (the flow thickness in our case) and its gradient at any particle location as a weighted sum of its neighbors' properties. The principle of the method is described well in Liu and Liu (2010), and the basic formula reads as follows:

(31) f ( x ) f ( x ) = l f l A l W ( x , x l ) f ( x ) f ( x ) = - l f l A l W ( x , x l ) ,

where W represents the SPH-kernel function (we employ the spiky kernel; see Eq. B2) and the subscript l enumerates the neighboring particles. This kernel function is designed to satisfy the unity condition, be an approximation of the Dirac function and have a compact support domain (Liu and Liu2010).

This method is usually either used in a 3D space, in which particles move freely and where the weighting factor for the summation is the volume of the particle, or on a 2D horizontal plane, where the weighting factor for the summation is the area of the particle and the gradient is 2D. Here we want to compute the gradient of the flow thickness on a 2D surface (the topography) embedded in 3D space. The method used is analogous to the SPH gradient computation on the 2D horizontal plane but the gradient is 3D and tangent to the surface (co-linear to the local tangent plane). The theoretical derivation in Appendix B2 shows that the SPH computation is equivalent to applying the 2D SPH method in the local tangent plane instead of in the horizontal plane. This leads to the following SPH expression of the flow thickness gradient:

(32) h k - l h l A l W ( x k , x l ) = - l m l ρ W ( x k , x l ) .

3.3.2 Flow thickness computation

The particle flow thickness is computed with the help of the grid. The mass of the particles is interpolated onto the grid using a bilinear interpolation method (described in Sect. 3.1). Then, dividing the mass at the grid cells by the area of the grid cells, while taking the slope of the cell into account, returns the flow thickness field on the grid. This is interpolated back to the particles, which leads to the particle flow thickness property.

We do not compute the flow thickness directly from the particle properties (mass and position) using an SPH method because it induced instabilities. Indeed, the cases where too few neighbors are found lead to very small flow thickness, which becomes an issue for flow-thickness-dependent friction laws. Note that using such an SPH method would lead to a full particle method. But since the flow thickness is only used in some cases for the friction force computation, using the previously described grid method should not affect the computation significantly.

3.4 Friction force discretization

The Coulomb friction force term in Eq. (30) for a particle reads:

(33) A k b τ b = - A k b tan δ p k b v 1 = - A k b tan δ ρ 0 h k g k eff v 1 = - m k tan δ g k eff v 1 = - F k fric max v 1 .

This relation stands if the particle is moving. The starting and stopping processes satisfy a different equation and are handled differently in the numerical implementation (using the same equation would lead to nonphysical behavior). This is described in more detail in Sect. 4.5.

3.5 Time discretization

The momentum equation is solved numerically in time using an Euler time scheme. The time derivative of any quantity f is approximated by

(34) d f k d t f k n + 1 - f k n Δ t ,

where Δt represents the time step and fn=f(tn), tn=nΔt. For the velocity this reads as follows:

(35) d u k d t u k n + 1 - u k n Δ t .

The positions of the particles are updated using a centered Euler scheme:

(36) x k n + 1 = x k n + Δ t 2 m u k n + 1 + u k n .

The forces are taken into account in two subsequent steps as forces acting on the particles can be sorted into driving forces and friction forces. Friction forces act against the particle motion, only affecting the magnitude of the velocity. They can in no case become driving forces. This is why in a first step the velocity is updated with the driving forces before updating in a second step the velocity magnitude applying the friction force.

3.6 Convergence

We are looking for a criterion that relates the properties of the spatial and temporal discretization to ensure convergence of the numerical solution. Simply decreasing the time step and increasing the spatial resolution, by decreasing the grid cell size and kernel radius and increasing the number of particles, does not ensure convergence. Ben Moussa and Vila (2000) analyzed hyperbolic one- and two-dimensional, nonlinear transport equations with a particle and SPH method and showed that the kernel radius size cannot be varied independently from the time step and number of particles. Indeed, they showed that the numerical solution converges towards the solution of the equation under the following condition:

(37) r part 0 r kernel 0 r part 2 r kernel 3 0 and d t C r kernel ,

where rpart represents the “size” of a particle, rkernel represents the SPH kernel radius, dt is the time step and C a constant. The conditions in Eq. (37) mean that both rpart (particle size) and rkernel (SPH kernel radius) need to go to zero but also that the particle size needs to go faster to zero than the SPH kernel radius. Finally, the time step needs to go to zero at the same rate as rkernel. The particle size can be expressed as a function of the SPH kernel radius:

(38) r part = A b π 1 / 2 = A kernel π n ppk 1 / 2 = r kernel n ppk 1 / 2 ,

where the particle basal area was assumed to be a circle. Note that this does not affect the results except adding a different shape factor in front of this expression. nppk is the number of particles per kernel support area and defines the density of the particles when initializing a simulation. Let nppk be defined by a reference number of particles per kernel support area nppk0>0, a reference kernel radius rkernel0>0, and a real exponent α:

(39) n ppk = n ppk 0 r kernel r kernel 0 α .

This leads to

(40) r part = r kernel 0 α n ppk 0 1 / 2 r kernel 1 - α / 2 .

Replacing rpart with the previous equation in Eq. (37) leads to the following condition:

(41) r kernel 0 α n ppk 0 r kernel - 1 - α 0 .

This brings us to the following choice:

(42) d t = C time r kernel n ppk = n ppk 0 r kernel r kernel 0 α ,

which satisfies the convergence criterion if

(43) α < - 1 .

Note that this criterion (which is similar to a Courant–Friedrichs–Lewy (CFL) condition) leaves some freedom of choice for the exponent α and that there are no constraints on the reference kernel radius rkernel0 and reference number of particles per kernel radius nppk0. Nevertheless, it seems appropriate to require a minimum number of particles per kernel radius so that enough neighbors are available to get a reasonable estimate of the gradient. These parameters should be adjusted according to the expected accuracy of the results and/or available compute power. Determining the optimal parameter values for α, rkernel0, and nppk0, for example, according to a user's needs in terms of accuracy and computational efficiency, requires a specific and detailed investigation of the considered case. In Sect. 5, we will explore model convergence using the condition Eq. (43) with different values of α.

4 Numerical implementation and solver

In this section, the numerical implementation and algorithm of the com1DFA module are described. The following sections are organized following the workflow used in the com1DFA code, which is also illustrated in Fig. 2. First, the release mass is discretized into particles and the grid is initialized. As a result of the partial differential equations considered and the time discretization used, stability issues might arise. Hence, artificial viscosity is added in order to ensure the stability of the solution. As a next step, driving forces (including curvature effects) are accounted for. Friction forces are taken into account subsequently in order to ensure proper starting and stopping behavior. Finally, a reprojection step is needed to ensure that particles lie on the topography and that particle velocities are tangential to the topography. For simplicity and because they are not considered in the verification tests in Sect. 5, entrainment and added resistance effects are not included in what follows. Additional information about entrainment or resistance forces is available in the theory section (, last access: 5 October 2023) of the AvaFrame documentation.

4.1 Initialization

To start a simulation with com1DFA, input information about topography, material properties, and initial conditions is required. Topography is described by a DEM (digital elevation model) using the ESRI ASCII format. It supplies a grid of altitude values, preceded by a header with information about the number of data rows and columns, coordinates of the center or corner of the lower-left cell, the edge length of the quadratic cells, and the code used for missing values. The material is characterized by its density and some friction properties. The initial condition is given by release areas, polygons describing the initial material location, and the release thickness, in our case measured in the surface-normal direction. It is possible to provide several polygons with different initial thickness values.

Then the material is discretized into particles. The field of normal vectors to the surface is computed from the input DEM and the different grid fields are initialized. The details of the initialization process are given in the initialization section (, last access: 5 October 2023) of the AvaFrame documentation.

4.2 Numerical stability

Because the lateral shear force term was removed when deriving the model equations (because of its relative smallness, Gray and Edwards2014), Eq. (22) is hyperbolic. Hyperbolic systems have the characteristic of carrying discontinuities or shocks which will cause numerical instabilities. They would fail to converge if, for example, an Euler forward-in-time scheme is used (LeVeque1990). Several methods exist to stabilize the numerical integration of a hyperbolic system of differential equations. All add some upwinding in the discretization scheme. Some methods tackle this problem by introducing some upwinding in the discretization of the derivatives (Harten et al.1983; Harten and Hyman1983). Others introduce some artificial viscosity (as in Monaghan1992), which is also implemented in com1DFA. The following artificial viscosity force acting on particle k is added to stabilize the momentum equation:


where the velocity difference reads duk=uk-u^k (u^k represents the averaged velocity of the neighbor particles and is practically the grid velocity interpolated at the particle position). CLat is a coefficient that controls the viscous force. It would be the equivalent of CDrag in the case of the drag force. CLat is a numerical parameter that depends on the grid size.

In this expression, let ukn be the velocity at the beginning of the time step and ukn+1 be the velocity after adding the numerical viscosity (Fig. 2). In the norm term duk the particle and grid velocity at the beginning of the time step are used. This ensures explicit time discretization with respect to the norm duk and u^ in duk. In contrast, an implicit formulation is used in duk because the new value of the velocity is used there. The artificial viscosity force now reads:

(45) F k visc = - 1 2 ρ 0 C Lat A k Lat u k n - u ^ k n u k n + 1 - u ^ k n .

Updating the velocity then gives

(46) u k n + 1 = u k n + C vis u ^ k n 1 + C vis ,


(47) C vis = 1 2 ρ 0 C Lat A k Lat u k n - u ^ k n Δ t m k .

This approach to stabilize the momentum equation (Eq. 30) is not optimal for different reasons. Firstly, it introduces a new coefficient Cvis, which is not a physical quantity and will require calibration. Secondly, it artificially adds a force that should be described physically. So it would be more interesting to take the physical force into account in the first place.

Potential solutions could be taking the physical shear force into account, using for example the μ(I)-rheology (Gray and Edwards2014; Baker et al.2016). Another option would be to replace the artificial viscosity with a purely numerical artifact aiming to stabilize the equations, such as an SPH version of the Lax–Friedrichs scheme as presented in Ata and Soulaïmani (2005).

4.3 Curvature acceleration term

The last term of the particle momentum equation (Eq. 30), as well as the effective gravity geff, are the final terms to be discretized before the time integration. In both of these terms, the remaining unknown is the curvature acceleration term ukdv3,kdt. Using the forward Euler time discretization for the temporal derivative of the normal vector v3,k gives

(48) d v 3 , k d t n v 3 , k n + 1 - v 3 , k n Δ t .

v3,kn is a known quantity, the normal vector of the bottom surface at xkn which is interpolated from the grid normal vector values at the position of the particle k at time tn. v3,kn+1 is unknown since xkn+1 is not known yet, hence we estimate xkn+1 based on the position xkn and the velocity at tn:

(49) x k n + 1 = x k n + Δ t u k n + 1 .

This position at tn+1 is projected onto the topography, and v3,kn+1 can be interpolated from the grid normal vector values.

Note that the curvature acceleration term is needed to compute the bottom pressure (Eq. 24), which is used for the bottom friction computation and for the pressure gradient computation. The curvature acceleration term can lead to a negative value, which means detachment of the particles from the bottom surface. In com1DFA, surface detachment is not allowed, and if pressure becomes negative, it is set back to zero forcing the material to remain in contact with the topography.

4.4 Driving forces

Adding the driving forces is done after adding the artificial viscosity as described in Fig. 2. The velocity is updated as follows ( is the velocity after taking the driving force into account):

(50) = u k n + 1 + Δ t m k F k drive = u k n + 1 + Δ t m k - m k g k eff s h + m k g s - m k u k n + 1 d v 3 , k d t n v 3 , k n ,

where the flow thickness gradient term is computed using the SPH formulation in Eq. (32).

4.5 Friction forces

The friction force related to the bottom shear force needs to be taken into account in the momentum equation and the velocity needs to be updated accordingly. Friction force acts against motion, hence it only affects the magnitude of the velocity and cannot be a driving force (Mangeney-Castelnau et al.2003). Moreover, the friction force magnitude depends on the particle state, i.e., whether it is flowing or at rest. If the velocity of the particle k is after adding the driving forces, adding the friction force leads, depending on the sign of mkΔt-Fkfricmax, to

  • Ffric=Fkfricmax and ukn+1=1-ΔtmkFkfricmax, if mkΔt>Fkfricmax

  • FkfricFkfricmax, and the particle stops moving (ukn+1=0) before the end of the time step if mkΔtFkfricmax.

This method prevents the friction force from becoming a driving force and nonphysically changing the direction of the velocity. This would lead to oscillations of the particles instead of stopping. Adding the friction force following this approach (Mangeney-Castelnau et al.2003) allows the particles to start and stop flowing properly.

4.6 Reprojection

The last term in Eq. (30) (accounting for the curvature effects) adds a non-tangential component allowing the new velocity to lie in a different plane than the one from the previous time step. This enables the particles to follow the topography. Because the curvature term was only based on an estimation (see Sect. 4.3), the new particle position is not necessarily on the topography, and the new velocity does not necessarily lie in the tangent plane at this new position. Furthermore, in cases with a strong convex curvature and high velocities, the particles can theoretically be in a free-fall state (detachment), as mentioned in Sect. 2.5.1. Thus, com1DFA does not allow detachment of the particles, and the particles are forced to stay on the topography. This is a limitation of the model or method, which will lead to nonphysical behavior in special cases (material flowing over a cliff). In both of the previously mentioned cases, the particle positions are projected back onto the topography and the velocity direction is corrected to be tangential to the topography. The position reprojection is done using an iterative method that attempts to conserve the distance traveled by each particle between tn and tn+1. The velocity reprojection changes the direction of the velocity, but its magnitude is conserved.

Figure 2Dense-flow avalanche solver (com1DFA) workflow.


5 Model verification

In this section, the numerical implementation of the mathematical model is tested. We present different tests where, for specific conditions, a (semi-)analytical solution exists. The tests described here are implemented in the ana1Tests module from AvaFrame. In the first set of tests, the flow variable tests, we compare the temporal and spatial evolution of the flow thickness (h) and the thickness-integrated momentum flux (hu) of the com1DFA simulation results to a (semi-)analytical solution. With these tests, we aim to verify the numerical discretization and implementation of the solver and check the validity of the convergence criterion described in Sect. 3.6.

In the second test, the energy line test, we investigate global variables, such as mass-averaged position and kinetic energy, that are derived from the DFA simulations. This test is based on energy conservation considerations for simplified topographies. This allows us to verify the accuracy of the DFA simulations in terms of mass-averaged runout. All the tests presented and used in what follows are implemented and available in AvaFrame (both data and helper functions). All results and figures can be reproduced using the code available on the AvaFrame GitHub repository (, last access: 5 October 2023).

5.1 Flow variable tests

Before performing the abovementioned similarity solution and dam break tests, it is necessary to describe the quantities that are compared and the measures that are used to assess the convergence, accuracy or precision of the numerical model. Both the flow thickness (h) and thickness-integrated flow momentum flux (hu) are used to compare the analytical solution to the simulation results. Two different deviation measures are used to quantify the deviation between a reference solution and the simulation result on a domain (one- or two-dimensional). The first is based on the max norm (uniform norm), and the second is based on the Euclidean norm (2 norm). Let fnum be the numerical solution and fref the reference solution defined on a domain Ω. The local deviation is defined by E(x)=fnum(x)-fref(x), and the global deviation is defined by the following terms.

  • The uniform norm (max) measures the largest absolute value of the deviation on Ω:


    This norm is applied to one- or two-dimensional results. It can also be normalized by dividing the uniform norm of the deviation by the uniform norm of the reference. In this case we refer to the relative deviation:

  • The Euclidean norm (2 norm) gives an overall measure of the deviations


    It is useful to normalize the norm of the deviation either by dividing with the norm of the reference solution:


    or by the measure of the interval (L2(1)=xΩdx):


    The first normalization approach will give a relative deviation, whereas the second will give an average deviation of f on Ω.

5.1.1 Similarity solution test

The similarity solution is one of the few cases where a semi-analytic solution is available for solving the thickness-integrated equations. This makes it very useful for validating the implementation of dense-flow avalanche numerical methods (here com1DFA). In this problem, we consider an avalanche governed by a dry-friction law (Coulomb friction) flowing down an inclined plane. The release mass is initially distributed in an ellipse (diameters of length Lx and Ly) with a parabolic thickness shape (H in the middle). This mass is released at t=0 and flows down the inclined plane, as illustrated in Fig. 3a for the initial time step and at some later time t. This semi-analytic solution can be derived under the following assumptions. First, the ratio ϵ=H/L of flow thickness over spatial extent in flow and cross-flow direction should be smaller than 1. Second, the slope angle must be larger than the bed friction angle. Third, the solution is assumed to retain the symmetry properties of the initial configuration relative to the moving center of mass. The full description of the conditions and assumptions, as well as the derivation of the solution, is presented in detail by Hutter et al. (1993). The term semi-analytic is used here because the method enables us to transform the PDE (partial differential equation) of the problem into an ODE (ordinary differential equation) using a similarity analysis method. The ODE can be solved with much less effort, e.g., using an explicit fourth-order Runge–Kutta scheme.

This test is implemented in the ana1Tests module of AvaFrame, which offers functions to compute the semi-analytic solution, compare it to the output from the DFA computational module, and visualize the results.

Figure 3Flow variable test setups. (a) Similarity solution showing a 3D view of the material on the inclined plane at t=0 (center located in x1=x0) and at a general time t (center located in x1=xc). The footprint of the material on the inclined plane at the initial time is an ellipse of principal axes Lx and Ly, the thickness follows a parabolic distribution, with the maximum thickness of H in the middle of the ellipse and 0 on the edge. (b) Dam break showing a 2D view of the material on the inclined plane (profile in flow direction) at t=0 and for different t>0.


5.1.2 Dam break test

The dam break test is the second test for which an analytical solution of the thickness-integrated equations is known. In this test, we also consider an avalanche governed by a dry-friction law (Coulomb material), released from rest on an inclined plane (see Fig. 3b). In the case of a thickness-integrated model as derived by Savage and Hutter (e.g., in Hutter et al.1993), an analytical solution exists under the assumption of shallowness of the flow. Furthermore, the friction angle has to be smaller than the slope of the inclined plane. This test, in contrast to the similarity solution test, focuses on the very early stages of the flow and not on the evolution over time and lateral spreading. The derivation of the dam break solution is described in Faccanoni and Mangeney (2013) and corresponds to a Riemann problem. It has the following initial conditions:

(51) ( h , u ) ( x , t = 0 ) = ( h 0 , 0 ) , if  x 0 ( 0 , 0 ) , if  x > 0 .

The dam break assumes an invariance in the y direction, which is achieved using a wide enough domain in the y direction so that lateral effects can be neglected.

5.1.3 Results

DFA simulations are computed using the com1DFA module in AvaFrame varying the different numerical parameters listed in Table 1. The range of α values (called “aPPK” in the code and figures) is determined by the convergence criterion (Eq. 43). The SPH kernel radius rkernel (called “sphKernelRadius” in the code and figures) is varied around 5 m, which is the raster cell size value currently used for operational hazard mapping in Austria. The tested values of nppk0 (called “nPPK0” in the code and figures) and Ctime (called “cMax” in the code and figures) are listed in Table 1. A large nppk0 and small Ctime lead to very long computation time, which makes these values unrealistic and impractical to use. Instructions on how to reproduce the results presented below are provided in the Supplement.

Table 1Parameter variation used to study convergence of the DFA simulation solution for both similarity solution and dam break test ( the parameters used for the figures presented in this article are given in bold).

Download Print Version | Download XLSX

Figure 4Comparison of the analytical (dashed lines) and numerical (solid lines) solution for the similarity solution test case at t=20.04 s. Panel (a) shows the profile in the flow direction (along the x axis), whereas (b) shows the profiles across flow direction (along the y axis). Panel (c) provides a top view of the flow thickness (flow thickness contour lines). Panel (d) shows the time evolution of the deviation (both ℛℒmax and ℛℒ2) on flow thickness h and momentum hu between the analytic and numerical solutions (rkernel=3 m, α=-3, nppk0=15 and Ctime=0.02 s m−1). Large relative error values are mainly connected to differences in the generally small upstream values in flow direction. The vertical dashed line in (d) marks the time at which data in panels (a), (b), and (c) are shown. Results of the similarity solution test with the standard parameters are shown in the Supplement.


For both of the tests, the numerical schemes to apply friction and the method used to compute the SPH gradient are crucial for obtaining a proper starting and stopping behavior of the flow. Some intermediate developments showed that adding the friction with methods differing from as the one presented here and computing the SPH gradient without taking the slope inclination into account leads to unsatisfactory results. This is why the friction force is added as described in Sect. 4.5 and the SPH force is computed as described in Appendix B2. In what follows, artificial viscosity is added with CLat=10) in the similarity solution test, which stabilizes the solution without degrading the match with the semi-analytic solution. For the dam break test, adding artificial viscosity has a negative impact on the solution and the following results were produced with no artificial viscosity (CLat=0).

Figure 4 shows an example where a DFA simulation is compared to the semi-analytical solution of the similarity solution test case. The chosen parameters for this example are rkernel=3 m, α=-3, nppk0=15 and Ctime=0.02 s m−1 and correspond to the most accurate of the simulations presented here. The reader can find the results of the similarity solution test with the standard parameters in the Supplement. Figure 4a and b show the flow thickness and momentum profiles in and across flow direction after 20 s of flow. Figure 4d shows the evolution of the ℛℒ2 and ℛℒmax deviation with time. The deviation at the initial time step (t=0 s) is rather high (this is related to the random process to initialize the particles in the simulation) and then quickly decreases after a few seconds of simulation due to the reorganization of the particles. The deviation then increases again as the numerical inaccuracies accumulate. When varying the numerical parameters in the DFA simulations (according to Eq. 42), the computed 2 deviations between DFA results and the semi-analytical solution decrease (see Fig. 5). In Fig. 6, the comparison between a DFA simulation and the analytical solution of the dam break test is shown for flow thickness, flow velocity and momentum at t=15 s (upper panel). Figure 6d shows a top view of the flow colored by flow thickness. This panel also shows the domain on which the deviation between analytical and numerical solution is computed. Figure 6e shows the relative deviations ℛℒ2 and ℛℒmax on flow thickness and momentum. The same behavior as for the similarity solution test is observed regarding the time evolution of the deviation. Computation was done with rkernel=3 m, α=-3, nppk0=15 and Ctime=0.02 s m−1. The reader can find the results of the similarity solution test with the standard parameters in the Supplement.

Results from both the similarity solution tests and the dam break test validate the convergence criterion from Ben Moussa and Vila (2000). Indeed, with an α exponent smaller than −1, decreasing the SPH kernel radius and varying the other parameters according to Eq. (42) leads to a decrease in the deviation, whereas for larger exponents, α=-0.5 for both tests or α=0 for the dam break test (Fig. 7), the deviation decreases only slightly or even increases. Moreover, it is observed (not shown in the figure) that decreasing the time step (decreasing the Cmax parameter) with all other parameters fixed leads to a decreasing deviation. Finally, for these two specific cases, DFA simulation results converge towards the semi-analytical or analytical solution.

Figure 5ℛℒ2 deviation of flow momentum in the similarity solution test case for different α exponents and SPH kernel radii rppk. Other parameters are kept fixed (reference kernel radius rppk0=5 m, time constant Ctime, and reference number of particles per kernel radius nppk0). Due to the reference kernel radius all points for rppk=5 m are identical. The colored lines are added to give an idea of the convergence speed trend associated with each α scenario. The decrease in the deviation is stronger for lower α exponents, and no or little decrease is observed for α=0 or α=-0.5.


Figure 6Comparison of the analytical and numerical solution for the dam break test case at t=15.0 s. Thee top panels show flow thickness (a), velocity (b), and momentum profiles (c) in flow direction. Panel (d) provides a top view of the flow thickness. The gray-shaded rectangle represents the domain on which the deviations are computed. Panel (e) shows the time evolution of the deviation (both ℛℒmax and ℛℒ2) on flow thickness h and momentum hu between the analytic and numerical solutions (rkernel=3 m, α=-3, nppk0=15 and Ctime=0.02 s m−1). The vertical dashed line in (e) marks the time at which data in the other panels are shown.


Figure 7ℛℒ2 deviation in flow momentum in the dam break case for different α exponents and SPH kernel radii rppk. Other parameters are kept fixed (reference kernel radius rppk0=5 m, time constant Ctime, and reference number of particles per kernel radius nppk0). Due to the reference kernel radius, all points for rppk=5 m are identical. The colored lines are added to give an idea of the convergence speed trend associated with each α scenario. One can observe that the decrease in deviation is stronger for lower α exponents and that no or little decrease is observed for α=0 or α=-0.5.


5.2 Energy and runout testing

The energy line test compares the results of the com1DFA simulation to a geometrical solution derived from the total energy of the system. Solely considering Coulomb friction, this solution is motivated by the first principle of energy conservation along a simplified topography. In this case, the friction force only depends on the slope angle. The analytical runout is the intersection of the path profile with the geometrical line (α line) defined by the friction angle α. From the geometrical line it is also possible to extract information about the mass-averaged flow velocity at any time or position along the path profile (see example in Fig. 9). For the detailed theory of this test, please refer to Appendix A.

In this test, we use the α line to evaluate the DFA simulation. Computing the mass-averaged path profile for the particles (each particle corresponding to a material point) in the simulation and comparing it to the α line allows us to compute four error indicators. Fig. A1 illustrates the concept.

Figure 8Example of trajectory where the steepest descent path hypothesis fails. The mass point is traveling from x(t) to x(t+dt). The slope angle θ and travel angle γ are also illustrated. Here (ezn)dl=cosθdscosγds.


Figure 9Energy line test for an inclined plane smoothly transitioning to a horizontal plane with particles following Coulomb friction and not subject to pressure forces. All conditions for the energy line test to be applicable are satisfied, and the geometrical solution can be used as reference to compute the numerical error (here less than 10−2 m and 10−4). Panel (a) shows the center of mass profile, which is indicated in the top view of peak flow velocity in panel (b). Panel (c) shows a zoomed-in view of the lower end of the profile.


The first three are related to the analytical runout point defined by the intersection between the α line and the mass-averaged path profile. The last one is related to the velocity.

  • The horizontal distance between the analytical runout point and the end of the path profile defines the ϵs=sγ-sα error in meters.

  • The vertical distance between the analytical runout point and the end of the path profile defines the ϵz=zγ-zα error in meters.

  • The runout angle difference between the α line angle and the DFA simulation runout line defines the ϵα=γ-α runout angle error.

  • The root-mean-square error (RMSE) between the α line and the DFA simulation energy points defines an error in the velocity altitude v22g.

5.2.1 Limitations and applicability

It is essential to state where the assumptions of this test hold. One of the important hypotheses for the energy solution is that the inclination of the material point trajectory is equal to the slope angle of the surface, i.e., where dl=dscosθ. If this hypothesis fails, e.g., due to a particle trajectory deviating from the steepest slope direction, as illustrated in Fig. 8, it is impossible to derive the analytical energy solution. In the 3D case, the distance traveled by the particles reads ||dl||=dscosγ, where γ is the angle between the dl vector and the horizontal plane, which can differ from the slope angle θ (γθ). Here the energy solution is not the solution to the problem and hence cannot be used as reference. In this case, it would not be possible to distinguish what deviation is caused by the numerical error or because of the hypothesis being violated.

The α line can be used to study the effect of terms such as curvature acceleration, artificial viscosity, or pressure gradients. For example, the curvature acceleration modifies the friction term, depending on topography curvature and particle velocity, leading to a mismatch between the energy solution and the DFA simulation. Figure 10 shows this curvature effect. The topography considered here is an inclined plane that smoothly transitions into a horizontal plane, meaning that curvature only occurs in the transition part. The energy line test for this case shows that there is added dissipation only in the transition part, seen by squares not following the α line. Once all particles have reached the horizontal plane, the squares follow the α line again (with a shift in s coordinate or, perhaps more intuitively, in the z coordinate).

Figure 10Energy line test for an inclined plane smoothly transitioning to a horizontal plane with particles following Coulomb friction, not subject to pressure forces but taking curvature acceleration into account. The geometrical solution and the numerical solution match on the inclined plane and horizontal parts and differ on the curved part. This shows the effect of curvature on the runout (decrease of runout because of the added friction due to curvature). Panel (a) shows the center of mass profile, which is indicated in the top view of peak flow velocity in panel (b). Panel (c) shows a zoom-in to the lower end of the profile.


Finally, the effects of the pressure force can be studied. For example, with this test it can be shown that adding the pressure forces does not influence the simulation runout (not shown here). This can be explained by the fact that pressure forces do not dissipate any energy and hence should not affect the energy balance. However, pressure forces lead to particle trajectories that do not necessarily follow the steepest direction, which means that the fundamental hypothesis illustrated in Fig. 8 is not satisfied.

5.2.2 Grid orientation effect

The energy line test previously described is also used to test whether the numerical method implemented in com1DFA performs independently of the grid orientation. Indeed we saw in Sect. 3.1 that com1DFA uses a regular grid to update some variables such as flow thickness or flow velocity. In order to quantify the effect of the grid orientation on the simulation results, we perform tests where grid orientation is changed while keeping the grid cell size and topography the same. In the Supplement, we show two examples where we consider a parabolic slope, i.e., the topography varies only in one direction, and a bowl shape, i.e., the topography with a rotational symmetry about its center. The main axis of the flow is not always aligned with the grid, and we provide three cases. First, a 0 case in which the slope is invariant in the y direction (main flow direction aligned with the grid). Second, a 225 case, with the slope being invariant in a direction angled 225 from the y direction (main flow direction aligned with the grid diagonal). Third, a 120 case meaning that the slope is invariant in a direction angled 120 from the y direction (main flow direction is neither aligned with the grid nor with the grid diagonal). For each of these test cases, two simulations are performed, i.e., with or without pressure gradients. The results of these tests and the instructions on how to reproduce them are provided in the Supplement. The results are very satisfying. The runout distances differ by only a few centimeters between the 0, 120, and 225 cases. This is of the same order of magnitude as the numerical errors computed with the energy line tests. This proves the rather low dependence of the simulation results on the grid orientation.

6 Conclusions

The presented com1DFA module within the open-source simulation framework AvaFrame is aimed at and developed for the simulation of avalanches with flow or a mixed form of movement. These may mostly be classified as A2B7C1D-E7F7G1H7J1 according to the morphological classification code (International Association of Hydrological Sciences. International Commission on Snow and Ice1981). Effects of snow entrainment or additional sources of resistance can be included. The corresponding theoretical background is not described in this publication but is available in the AvaFrame online documentation (Oesterle et al.2022).

The default setup of the module targets very large to extremely large avalanches of catastrophic intensity, corresponding to avalanches of size 4–5 of the European Avalanche Warning Service (EAWS) size classification or a 150-year return period in the case of Austrian hazard mapping (Johannesson et al.2009). Additional calibrated parameter sets for small- and medium-sized avalanches and wet-snow avalanches (albeit experimental) are also provided within the framework. However, these are exclusively optimized on a subset of Austrian test cases. Other types of avalanches, such as powder snow avalanches or similar, are unsuitable applications for the com1DFA module.

Com1DFA is based on the slope-normal thickness integration of the mass and momentum conservation equations, which are solved with a mixed particle–grid method. Particles are used to track mass and to compute the pressure forces following a smooth particle hydrodynamics (SPH) approach adapted to the special case of steep terrain. An underlying Eulerian grid is used to compute the flow thickness from the distribution of the particles. Velocity is also interpolated from the particles to the grid in order to compute the stabilizing artificial viscosity term. Physical starting and stopping behavior is ensured by considering differences in the friction force, whether the material is flowing or at rest. A time–space criterion ensuring the convergence of the implemented numerical method is provided. Of course limitations and assumptions exist, one of the main ones being the assumption of a moderately curved surface. For currently used resolutions of topographies (about 5–10 m at the time of writing) terrain features remain relatively smooth, but this already requires forcing of particles to stay on the topography. For potential higher-resolution applications in the future, this assumption needs to be re-evaluated.

To verify the numerical implementation of com1DFA, we apply a series of tests separated into two categories. Flow variable tests, i.e., similarity solution and dam break tests, are used for checking the proper spatiotemporal evolution of flow thickness and velocity. Runout testing checks the accuracy of global variables such as center-of-mass runout and kinetic energy. The tests show the validity of the chosen time–space criterion, as well as the accuracy and precision of the com1DFA numerical solution.

Note that the computational efficiency of the com1DFA module is not a topic in this article since simulations with the standard setup compute within seconds to minutes on current computer hardware. To achieve better computational efficiency, we implemented parallel execution of multiple serial simulations. However, topics like computational efficiency, further in-depth testing, and application to real topographies will be treated in future publications.

Current and future potential improvements to com1DFA include topics such as the improvement of entrainment and detrainment (e.g., concerning forests), a more numerically sound representation of dams and walls, or a probabilistic approach to uncertainties. These topics will need both conceptual developments and numerical improvements, but some are already being tackled. Possible applications to other types of gravitational mass flows might also be an exciting development, but our current focus lies on snow avalanches. However, since AvaFrame is an open-source framework, we invite everyone to use the presented modules and welcome feedback and contributions, regardless of the topic.

Appendix A: Theory: energy line test

The conservation of energy for a material point (block model) flowing downslope from point O to point B reads as follows (assuming only Coulomb friction):


where δEfric is the energy dissipation due to friction, n the normal vector to the slope surface, and dl is the elementary vector on the path profile traveled by the material point between O and B. The vertical component of the normal vector reads ezn=cosθ, where θ is the slope angle. Here, m represents the mass of the material point, g the gravity, μ=tan α the friction coefficient and friction angle, z the elevation, and v the velocity of the material point. Note that in the 2D case, dl=dscosθ is only true if the inclination of the material point trajectory is equal to the slope inclination, i.e., the material point is flowing in the steepest slope direction. Now considering O as the origin position (sO=0 and vO=0) leads to the following simplification:


Speaking in terms of altitude, the energy conservation equation can be rewritten (the subscript B is dropped):

(A3) z O = z + v 2 2 g + tan α .

Considering a system of material points flowing down a slope with Coulomb friction, we can sum the previous equation (Eq. A3) of each material point after weighting it by its mass. This leads to the mass-averaged energy conservation equation:

(A4) z O = z + v 2 2 g + s tan α ,

where the mass-averaged value a of a quantity a is (k indicates the points indices) as follows:

(A5) a = k m k a k k m k .

In this way, we can define the center-of-mass path (x,y) and the center-of-mass path profile (s,z). The mass-averaged quantities also follow the same energy conservation law when expressed in terms of altitude. This result is illustrated in Fig. A1b and applies to both the material point equation (Eq. A3) and the mass-averaged energy conservation equation (Eq. A4). The light blue line in Fig. A1b is obtained by evaluating the mass-averaged energy conservation (Eq. A4) at the final time (tend) and position ((send, zend)), where v2=0. This leads to the α line (also called energy line) equation:

(A6) z = z O - s tan α .

Figure A1Panel (a) shows a top-down view of the avalanche simulation and extracted path. Panel (b) shows a simulation path profile (dark blue curve and dots) with the runout line (dark blue line and velocity altitude squares), α line, and runout error indicators (ϵs and ϵz)


Appendix B: SPH pressure gradients

The SPH method used in shallow-water equations is in most applications applied on a horizontal surface. The theoretical development on a horizontal plane is described in Appendix B1. The dense-flow avalanche model described in this paper should be expressed on the bottom surface, which is not necessarily horizontal. The SPH gradient computation development is detailed in Appendix B2.

B1 Standard method

Let us start with the computation of the gradient of a scalar function f:R2R on a horizontal plane. Let Pk=xk=(xk,1,xk,2) and Ql=xl=(xl,1,xl,2) be two points in 2 defined by their coordinates in the Cartesian coordinate system (Pk,e1,e2). rkl=xk-xl is the vector from Ql to Pkl. Now consider the kernel function W:

(B1) W : R 2 × R 2 × R R , ( P k , Q l , r 0 ) W ( P k , Q l , r 0 ) .

r0∈ℝ is the smoothing kernel length (or radius). In the case of the spiky kernel, W reads as follows (2D case):


rkl=xk-xl is the distance between particles k and l, and r0 is the smoothing length. Using the chain rule to express the gradient of W in the Cartesian coordinate system (x1,x2) leads to

(B3) W k l = W r r , r = r = ( x k , 1 - x l , 1 ) 2 + ( x k , 2 - x l , 2 ) 2 ,


(B4) W r = - 3 10 π r 0 5 ( r 0 - r k l ) 2 , 0 r k l r 0 0 , r 0 < r k l ,


(B5) r x k , i = ( x k , i - x l , i ) ( x k , 1 - x l , 1 ) 2 + ( x k , 2 - x l , 2 ) 2 , i = { 1 , 2 } ,

which leads to the following expression for the gradient:

(B6) W k l = - 3 10 π r 0 5 ( r 0 - r k l ) 2 r k l r k l , 0 r k l r 0 0 , r 0 < r k l .

The gradient of f is then simply

(B7) f k = - l f l A l W k l .

B2 The 2.5D SPH method

We now want to express a function f and its gradient on a curved surface and express this gradient in the three-dimensional Cartesian coordinate system (Pk,e1,e2,e3). Let us consider a smooth surface 𝒮 and two points Pk:xk=(xk,1,xk,2,xk,3) and Ql:xl=(xl,1,xl,2,xl,3) on 𝒮. We can define 𝒯𝒫k the tangent plane to 𝒮 in Pk. If uk is the (non-zero) velocity of the particle at Pk, it is possible to define the local orthonormal coordinate system (Pk,V1,V2,V3=n) with time-dependent V1=uk(t)uk(t) and n the normal to 𝒮 at Pk. Locally, 𝒮 can be assimilated to 𝒯𝒫k and Ql to its projection Ql on 𝒯𝒫k (see Fig. B1). Similarly, we assimilate a function f:SR3R to a function f:TPkR3R satisfying f(Q)=f(Q).

Figure B1Tangent plane and local coordinate system used to apply the SPH method


The vector rkl=xk-xl from Ql to Pk lies in 𝒯𝒫k and can be expressed in the local basis of 𝒯𝒫k:

(B8) r k l = x k - x l = v k l , 1 V 1 + v k l , 2 V 2 .

It is important to properly define f and its gradient as follows:

(B9) f : T P k R 3 R ( x 1 , x 2 , x 3 ) f ( x 1 , x 2 , x 3 ) = f ( x 1 ( v 1 , v 2 ) , x 2 ( v 1 , v 2 ) ) = g ( v 1 , v 2 ) .

Indeed, since (x1,x2,x3) lies in 𝒯𝒫k, x3 is not independent of (x1,x2)

(B10) g : T P k R 2 R ( v 1 , v 2 ) g ( v 1 , v 2 ) = g ( v 1 ( x 1 , x 2 ) , v 2 ( x 1 , x 2 ) ) = f ( x 1 , x 2 , x 3 ) .

The target is the gradient of g in terms of the 𝒯𝒫k variables (v1,v2). Let us call this gradient 𝒯𝒫. It is then possible to apply the Appendix B1 method to compute this gradient:

(B11) T P W k l = W r T P r , r = r = v k l , 1 2 + v k l , 2 2 .

This leads to


This gradient can now be expressed in the Cartesian coordinate system. It is clear that the change in coordinate system was not needed:

(B14) T P W k l = - 3 10 π r 0 5 ( r 0 - r k l ) 2 r k l r k l , 1 e 1 + r k l , 2 e 2 + r k l , 3 e 3 , 0 r k l r 0 0 , r 0 < r k l .

Computing the gradient in the local coordinate system is, however, advantageous if the components (in flow direction or in cross flow direction) need to be treated differently.

Code and data availability

The AvaFrame software is publicly available at (last access: 5 October 2023). The associated online documentation is available at (last access: 23 October 2023). The code is released under the European Union Public license (EUPL version 1.2). The version of the code (including configuration files) and documentation for reproducing the results presented in this paper are available at (last access: 5 October 2023) and (last access: 5 October 2023) (DOI:, Oesterle et al.2022).


The supplement related to this article is available online at:

Author contributions

AW, FO, and MT are the principal programmers and jointly developed the dense-flow avalanche numerical model code. MT prepared the article and performed the model simulations to produce the results and figures of this article with contributions from AW. FO and JTF jointly supervised the project and contributed to the discussion and paper.

Competing interests

The contact author has declared that none of the authors has any competing interests.


Publisher's note: Copernicus Publications remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.


The authors would like to acknowledge Peter Sampl, who developed the theory and source code for SamosAT which represented the starting point of the com1DFA module of AvaFrame. Thank you to Marie von Busse and Wolfgang Fellin for their help in developing the energy line test. We also would like to thank our anonymous reviewer and Dieter Issler for the constructive review that immensely helped improve the article's clarity and quality.

Financial support

AvaFrame is supported by the Austrian Federal Ministry for Agriculture, Forestry, Regions and Water Management through cooperation between the Austrian Avalanche and Torrent Control (WLV) and the Austrian Research Centre for Forests (BFW). Additional support has been provided by the international cooperation project “AvaRange – Particle Tracking in Snow Avalanches” supported by the German Research Foundation (DFG, project no. 421446512) and the Austrian Science Fund (FWF, project no. I 4274-N29).

Review statement

This paper was edited by Ludovic Räss and reviewed by Dieter Issler and Martin Mergili.


Ata, R. and Soulaïmani, A.: A stabilized SPH method for inviscid shallow water flows, Int. J. Numer. Meth. Fl., 47, 139–159,, 2005. a

Baker, J. L., Barker, T., and Gray, J. M. N. T.: A two-dimensional depth-averaged μ(I)-rheology for dense granular avalanches, J. Fluid Mech., 787, 367–395,, 2016. a

Ben Moussa, B. and Vila, J. P.: Convergence of SPH method for scalar nonlinear conservation laws, SIAM J. Numer. Anal., 37, 863–887,, 2000. a, b

Christen, M., Kowalski, J., and Bartelt, P.: RAMMS: Numerical simulation of dense snow avalanches in three-dimensional terrain, Cold Reg. Sci. Technol., 63, 1–14,, 2010. a, b, c

Faccanoni, G. and Mangeney, A.: Exact solution for granular flows, Int. J. Numer. Anal. Met., 37, 1408–1433,, 2013. a, b

Fischer, J. T., Kowalski, J., and Pudasaini, S.: Topographic curvature effects in applied avalanche modeling, Cold Reg. Sci. Technol., 74–75, 21–30,, 2012. a

Fischer, J.-T., Fromm, R., Gauer, P., and Sovilla, B.: Evaluation of probabilistic snow avalanche simulation ensembles with Doppler radar observations, Cold Reg. Sci. Technol., 97, 151–158,, 2014. a

Gauer, P.: Comparison of avalanche front velocity measurements and implications for avalanche models, Cold Reg. Sci. Technol., 97, 132–150,, 2014. a

Granig, M., Sampl, P., Fischer, J., Kofler, A., and Joerg, P.: Adaption and further development of the numerical solution in the avalanche simulation model SamosAT, in: 13th Congress INTERPRAEVENT, Lucerne, Switzerland, 30 May–2 June 2016, 284–289, (last access: 23 October 2023), 2016. a, b

Gray, J. and Edwards, A.: A depth-averaged μ(I)-rheology for shallow granular free-surface flows, J. Fluid Mech., 755, 297–329,, 2014. a, b, c

Gubler, H.: Measurements and modelling of snow avalanche speeds, in: Avalanches Formation, Movement and Effects, edited by: Salm, B. and Gubler, H., IAHS Publication, 162, 405–420, 1987. a

Harten, A. and Hyman, J. M.: Self adjusting grid methods for one-dimensional hyperbolic conservation laws, J. Comput. Phys., 50, 235–269,, 1983. a

Harten, A., Lax, P. D., and Leer, B. v.: On upstream differencing and Godunov-type schemes for hyperbolic conservation laws, SIAM Rev., 25, 35–61,, 1983. a

Hergarten, S. and Robl, J.: Modelling rapid mass movements using the shallow water equations in Cartesian coordinates, Nat. Hazards Earth Syst. Sci., 15, 671–685,, 2015. a

Hutter, C., Siegel, M., Savage, S., and Nohguchi, Y.: Two-dimensional spreading of a granular avalanche down an inclined plane Part I. Theory, Acta Mech., 100, 37–68,, 1993. a, b, c

Ihmsen, M., Orthmann, J., Solenthaler, B., Kolb, A., and Teschner, M.: SPH Fluids in Computer Graphics, in: Eurographics 2014 – State of the Art Reports, edited by: Lefebvre, S. and Spagnuolo, M., The Eurographics Association,, 2014. a

International Association of Hydrological Sciences. International Commission on Snow and Ice: Avalanche atlas, in: Illustrated international avalanche classification, Unesco, Paris, 265 pp., (last access: 5 October 2023), 1981. a

Barbolini, M., Domaas, U., Faug, T., Gauer, P., Hakonardottir, K. M., Harbitz, C. B., Issler, D., Johannesson, T., Lied, K., Naaim-Bouvet, M., and Rammer, L.: The design of avalanche protection dams, in: Recent practical and theoretical developments European Commission, edited by: Jóhannesson, T., Gauer, P., Issler, D., and Lied, K., Project Report: EUR 23339, European Commission, Directorate General for Research, 212 pp., 2009. a

Körner, H. J.: The energy-line method in the mechanics of avalanches, J. Glaciol., 26, 501–505,, 1980. a

LeVeque, R. J.: Numerical methods for conservation laws, Birkhäuser Basel,, 1990. a

Li, X., Sovilla, B., Jiang, C., and Gaume, J.: Three-dimensional and real-scale modeling of flow regimes in dense snow avalanches, Landslides, 18, 3393–3406,, 2021. a

Liu, M. and Liu, G.: Smoothed Particle Hydrodynamics (SPH): an overview and recent developments, Arch. Comput. Method. E., 17, 25–76,, 2010. a, b, c, d

Luca, I., Tai, Y.-C., and Kuo, C.-Y.: Shallow Geophysical Mass Flows down Arbitrary Topography, Springer International Publishing,, 2016. a

Mangeney-Castelnau, A., Vilotte, J.-P., Bristeau, M.-O., Perthame, B., Bouchut, F., Simeoni, C., and Yerneni, S.: Numerical modeling of avalanches based on Saint Venant equations using a kinetic scheme, J. Geophys. Res.-Sol. Ea., 108, 2527–2544,, 2003. a, b, c

Mergili, M., Fischer, J.-T., Krenn, J., and Pudasaini, S. P.: r.avaflow v1, an advanced open-source computational framework for the propagation and interaction of two-phase mass flows, Geosci. Model Dev., 10, 553–569,, 2017. a, b

Monaghan, J.: Smoothed particle hydrodynamics, Annu. Rev. Astron. Astr., 30, 543–574,, 1992. a

Monaghan, J. J.: Smoothed particle hydrodynamics, Rep. Prog. Phys., 68, 1703–1759,, 2005. a

Oesterle, F., Tonnel, M., Wirbel, A., and Fischer, J.-T.: avaframe/AvaFrame: Version 1.3, Zenodo [code and data set],, 2022. a, b, c

Oesterle, F., Tonnel, M., Wirbel, A., and Fischer, J.-T.: avaframe/AvaFrame: Version 1.6.1, Zenodo [code],, 2023. 

Rauter, M. and Tuković, Z.: A finite area scheme for shallow granular flows on three-dimensional surfaces, Comput. Fluids, 166, 184–199,, 2018. a, b

Rauter, M., Kofler, A., Huber, A., and Fellin, W.: faSavageHutterFOAM 1.0: depth-integrated simulation of dense snow avalanches on natural terrain with OpenFOAM, Geosci. Model Dev., 11, 2923–2939,, 2018. a

Salm, B. and Gubler, H.: Measurement and analysis of the motion of dense flow avalanches, Ann. Glaciol., 6, 26–34,, 1985. a

Sampl, P.: SamosAT – Modelltheorie und Numerik, AVL List GMBH, Tech. Rep., Zenodo,, 2007. a

Sampl, P. and Zwinger, T.: Avalanche simulation with SAMOS, Ann. Glaciol., 38, 393–398,, 2004. a, b, c, d

Savage, S. B. and Hutter, K.: The motion of a finite mass of granular material down a rough incline, J. Fluid Mech., 199, 177–215,, 1989. a

Stomakhin, A., Schroeder, C., Chai, L., Teran, J., and Selle, A.: A material point method for snow simulation, ACM T. Graphic., 32, 1–10,, 2013. a

Voellmy, A.: Über die Zerstörungskraft von Lawinen, Schweizerische Bauzeitung, Sonderdruck aus dem 73. Jahrgang, 1–25, 1955. a

Zugliani, D. and Rosatti, G.: TRENT2D: An accurate numerical approach to the simulation of two-dimensional dense snow avalanches in global coordinate systems, Cold Reg. Sci. Technol., 190, 103343,, 2021. a, b, c

Short summary
Avaframe - the open avalanche framework - provides open-source tools to simulate and investigate snow avalanches. It is utilized for multiple purposes, the two main applications being hazard mapping and scientific research of snow processes. We present the theory, conversion to a computer model, and testing for one of the core modules used for simulations of a particular type of avalanche, the so-called dense-flow avalanches. Tests check and confirm the applicability of the utilized method.