com1DFAOrig: Original DFA-Kernel

com1DFAOrig is a simulation tool for dense flow (snow) avalanches (DFA). It is a python wrapper function calling the samos-AT C++ (Snow Avalanche Modeling and Simulation- Advanced Technologies) DFA simulation code developed by the Austrian government in cooperation with the company AVL List GmbH in Graz. This code served as base for the implementation of the python DFA simulation module com1DFA presented in com1DFA: DFA-Kernel. com1DFA module is now the default DFA simulation module in AvaFrame.

The calculation of the DFA is based on the depth integrated governing equations and solved numerically using the smoothed particle hydrodynamic (sph) method.

Dense flow avalanche simulations can be performed for different release area scenarios, with or without entrainment and/or resistance areas. There is the option to vary the internal friction parameter or the release snow thickness.

C++ Executable

The computation of the com1DFAOrig dense flow avalanche module relies on a C++ executable. The executable (for now 64bit linux and windows) and needed files are available in this git repository. To install, change into your directory [YOURDIR] from the AvaFrame installation above and clone the repository:

cd [YOURDIR]
git clone https://github.com/avaframe/com1DFA_Exe

Rename the executables according to your operating system, i.e. for Linux do:

mv com1DFA_Exe/com1DFA_x86_64.exe com1DFA_Exe/com1DFA.exe
mv com1DFA_Exe/SHPConv_linux.exe com1DFA_Exe/SHPConv.exe

for Windows do:

mv com1DFA_Exe/com1DFA_win64.exe com1DFA_Exe/com1DFA.exe
mv com1DFA_Exe/SHPConv_win.exe com1DFA_Exe/SHPConv.exe

Go to the com1DFAOrig directory of the AvaFrame repository from above and copy the configuration file:

cd AvaFrame/avaframe/com1DFAOrig
cp com1DFACfg.ini local_com1DFACfg.ini

Open the local_com1DFACfg.ini file in your preferred text editor and change the com1Exe variable to reflect your paths, i.e.:

com1Exe = [YOURDIR]/com1DFA_Exe/com1DFA.exe -files [YOURDIR]/com1DFA_Exe/files/AK_Attributes

Attention

We suggest to use the full path.

To test go to [YOURDIR], change into the com1DFA_Exe repository and run the executable:

cd [YOURDIR]
cd com1DFA_Exe
./com1DFA.exe -files files/AK_Attributes/

The output should start like this:

Setting config files directory: files/AK_Attributes/  (src/SW_Workspace.cpp:3435)
./com1DFA.exe -files files/AK_Attributes/     (src/SW_Workspace.cpp:3453)
=================================================================
./com1DFA.exe
Compiled Oct 19 2020 21:34:15
...

Exit by pressing q

Input

The module requires an avalanche directory, that follows a specified folder structure. This avalanche directory can be created by running runInitializeProject.py. In the directory Inputs, the following files are required:

  • digital elevation model as .asc file -> use ESRI grid format

  • release area scenario as shapefile (in Inputs/REL); multiple are possible -> the shapefile name should not contain an underscore, if so ‘_AF’ is added

and the following files are optional:

  • entrainment area as shapefile (in Inputs/ENT)

  • resistance area as shapefile (in Inputs/RES)

  • secondary release area as shapefile (in Inputs/SECREL)

The simulation settings area defined in the configuration file com1DFAOrig/com1DFAOrigCfg.ini:

  • com1Exe - path to com1DFA executable

  • flagOut - print full model output

  • simTypeList - simulation types that shall be performed (options: null, ent, res, entres, available; if multiple, separate by ‘|’))

  • releaseScenario - name of release area scenario shapefile (with or without extension -shp, if multiple, separate by ‘|’)

  • flagVarPar - perform parameter variation

  • varPar - parameter to be varied

  • varParValues - values for parameter variation

Output

The simulation results are saved to: Outputs/com1DFAOrig and include:

  • raster files of the peak values for pressure, flow thickness and flow velocity (Outputs/com1DFAOrig/peakFiles)

  • reports of all simulations (Outputs/com1DFAOrig/reports)

  • log files of all simulations

  • experiment log that lists all simulations

To run

Attention

Please refer to the instructions in C++ Executable on how to get the necessary C++ executable and setup the correct paths.

  • first go to AvaFrame/avaframe

  • create an avalanche directory with required input files - for this task you can use Initialize Project

  • copy avaframeCfg.ini to local_avaframeCfg.ini and set your desired avalanche directory name

  • run:

    python3 com1DFAOrig/runCom1DFA.py
    

Theory

The governing equations of the dense flow avalanche are derived from the incompressible mass and momentum balance on a Lagrange control volume ([Zwi00, ZKS03]). Assuming the avalanche is much longer and larger than thick, it is possible to integrate the governing equations over the thickness of the avalanche and operate some simplifications due to the shape of the avalanche. This leads, after some calculation steps described in details in Theory Governing Equations for the Dense Flow Avalanche to:

\[\begin{split}\begin{aligned} &\frac{\mathrm{d}V(t)}{\mathrm{d}t} = \frac{\mathrm{d}(A_b\overline{h})}{\mathrm{d}t} = \frac{\rho_{\text{ent}}}{\rho_0}\,w_f\,h_{\text{ent}}\,\left\Vert \overline{\mathbf{u}}\right\Vert\\ &\frac{\,\mathrm{d}\overline{u}_i}{\,\mathrm{d}t} = g_i + \frac{K_{(i)}}{\overline{\rho}\,A\,\overline{h}}\,\oint\limits_{\partial{A}}\left(\frac{\overline{h}\,\sigma^{(b)}}{2}\right)n_i\,\mathrm{d}l -\delta_{i1}\frac{\tau^{(b)}}{\overline{\rho}\,\overline{h}} - C_{\text{res}}\,\overline{\mathbf{u}}^2\,\frac{\overline{u_i}}{\|\overline{\mathbf{u}}\|} -\frac{\overline{u_i}}{A\,\overline{h}}\frac{\,\mathrm{d}(A\,\overline{h})}{\,\mathrm{d}t} + \frac{F_i^{\text{ent}}}{\overline{\rho}\,A\,\overline{h}}\\ &\overline{\sigma}^{(b)}_{33} = \rho\,\left(g_3-\overline{u_1}^2\,\frac{\partial^2{b}}{\partial{x_1^2}}\right)\,\overline{h} \end{aligned}\end{split}\]

Numerics

Those equations are solved numerically using a SPH method ([LL10, Sam07]). SPH is a mesh free method where the basic idea is to divide the avalanche into small mass particles. The particles interact with each other according to the equation of motion described in Theory and the chosen kernel function. This kernel function describes the domain of influence of a particle (through the smoothing length parameter). See theory theoryCom1DFA:Numerics for further details.