# A 3D Two-Phase Landslide Dynamical Model on GIS Platform
## 3 Experimental Verification  
In this section, we selected the Yigong landslide case to validate the viability of our methodology. The Yigong landslide, one of the most renowned long run-out landslides, occurred on 9 April 2000 in the rugged and steep terrain of the southern flank of the Nyain-quentanglha Shan Mountains in southeast Tibet (94\({}^{\circ}\)58\({}^{\prime}\)03\({}^{\prime\prime}\); 30\({}^{\circ}\)12\({}^{\prime}\)11\({}^{\prime\prime}\)) [44; 45]. Originating at an altitude of approximately 5000 m, the landslide endured for 10 min, traversed approximately 10 km, and descended by around 3300 m. The volume of the region where the landslide originated exceeds 1 \(\times\) 10\({}^{8}\) m\({}^{3}\), while the overall volume of deposited material from the landslide is approximately 3 \(\times\) 10\({}^{8}\) m\({}^{3}\). Notably, the volume of the landslide deposits was roughly three times that of the initiation zone. Ultimately, the debris avalanche was funneled into the Yigong River, forming a dam of approximately 60 m in height [46; 47]. We selected the OpenFOAM software as the computational tool for numerical simulations of the three-dimensional model. However, the grid generation tools within OpenFOAM require the input of the geometric surfaces of the model to perform three-dimensional mesh partitioning. Our proposed solution can address this issue. Firstly, we acquired DEM data of the Yigong landslide surface and body. The DEM and source height were obtained by the case in the Massflow tutorial. Then, within a GIS platform, we replaced the No Data regions and anomalies with zero values through raster calculations. Subsequently, we overlaid the two remote-sensing images to derive an accurate DEM dataset of the landslide. Ultimately, we exported the remote sensing images of the landslide surface and the landslide in GeoTIFF file format. Based on the methodology described earlier, we achieved the above-mentioned functionalities using the Python3 programming language. In order to extract information for each triangular facet from the DEM, which includes the coordinates of the three vertices forming the facet, we utilized modules such as sys, argparse, deque, pack, unpack, numpy, and gdal. These modules can extract essential information from the Yigong landslide dataset, including the dimensions of rows and columns, affine transformation parameters, and pixel values corresponding to the specified band. Building upon this foundation, we converted the raster data from its original geographic coordinates to pixel coordinates. Subsequently, we utilized the pixel values of raster cells to extract fundamental details of each triangular face formed by these cells. This information encompasses the pixel coordinates of the three vertices comprising each triangular face, along with the unit normal vector. Utilizing this information, we can generate STL files for the landslide surface and landslide body, thus achieving the transformation from DEM to a three-dimensional geometric model (Figure 3). Notably, according to the analysis of Geometric Modeling, it is evident that the number of generated triangular facets is determined by the initial resolution of the DEM. The three-dimensional geometric model is crafted to represent the shape of the landslide using these triangular facets. Therefore, the quality of the initial landslide dataset will determine the quality of the constructed three-dimensional geometric model. Under the support of hardware capabilities, a higher resolution in the initial landslide DEM results in a greater number of corresponding triangular facets. Consequently, the constructed three-dimensional geometric model closely approximates the actual topographical conditions of the landslide. Then, we defined the shapes for the two geometric models above in FreeCAD v0.19 and obtained the three-dimensional geometric model of the landslide body through three-dimensional Boolean operations. It is an open-source CAD/CAE tool built upon the OpenCASCADE framework.