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
tolocal_avaframeCfg.ini
and set your desired avalanche directory namerun:
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:
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.