Simulation and Analysis of the Dynamic Angle of Repose test

This section provides instructions for running a simulation of the dynamic Angle of Repose test and extracting the relevant data automatically using the files provided.

The test consists of measuring the Angle of Repose of a granular material flowing in a rotating cylinder as shown in Figure 1.
Figure 1. Determination of the dynamic Angle of Repose test


Prerequisites

The simulation and analysis procedure described in this section requires EDEM version 2022 or later. The Calibration Kit examples are installed in the Altair installation folder > EDEM (version) > examples > Calibration Kits. Copy the Calibration kit and examples to a processing folder before they are configured and run.

The analysis described in this section uses EDEMpy. For more information about EDEMpy, see the EDEM Help documents.

Running Simulations and Post-processing results

Run the deck that is provided directly in EDEM and do the following:
  1. Obtain the Angle of Repose along with the simulation input parameters automatically using the Dynamic_angle_of_repose_analyst_v3.py script.
  2. Modify the EDEM test deck to match the experimental setup.

The post-processing script utilizes the EDEMpy library to locate all EDEM decks in the folder containing the script and sub folders. Finally, it generates reports and figures with all the relevant data.

The Angle of Repose is determined by subdividing a defined analysis domain into a rectangular grid of bins with infinite z dimensions, identifying the highest particle (with a maximum z coordinate) in each bin and conducting a least-squares linear fit to the coordinates of the center of mass of these particles as shown in Figure 1. Take measurements for each row of bins as shown in Figure 2. Record the average value, standard deviation, and Coefficient of Variance. Execute the analysis over a pre-defined range of Time Steps to calculate the temporal average value of the results.
Figure 2. Multiple measurements of the dynamic Angle of Repose in a given Time Step


The analysis settings are defined in the Dynamic_angle_of_repose_settings.txt file, as shown in Figure 3. For desirable results, set the bin size to 10 particle diameters and limit the analysis domain to the region where the Angle of Repose is approximately stable as shown in Figure 1. Set the Start and End time for temporal averaging to the same value to produce instantaneous results only.
Figure 3. Preferences for the angle for the dynamic angle of repose analyst


You can post-process multiple simulation decks with the script by arranging the files into one of the two configurations as shown in Figure 4. The second configuration is recommended, as it allows for individual settings files for each EDEM deck, and therefore post-processing of different types of tests can be done simultaneously. In the first configuration, a single settings file is read for post-processing all decks.
Figure 4. File configuration for post-processing multiple simulations


To run the Dynamic_angle_of_repose_analyst_v3.py script:
  1. Arrange the files as shown in Figure 4.
  2. Open a blank or existing EDEM simulation file, and go to EDEM Analyst > Run > EDEMpy Script.
  3. Go to Select File > Run Script and then select the Dynamic_angle_of_repose_analyst_v3.py script.
    Reports and graphs will be generated in the master folder. Individual reports contain all the relevant data and the summary report will contain only time-averaged results. Only complete simulations with the corresponding settings files will be post-processed. Otherwise the script will produce error messages as shown in Figure 5, and then move to the next simulation in the folder tree.
    Note: All simulation files must have unique folder names and simulation names. If the simulation names are identical, the results report will be overwritten.
    Figure 5. Possible error messages


Script Version changes

Version 3 of the Dynamic Angle of Repose analysis script is designed to work with EDEM version 2022.0 (and later) and EDEMpy. This EDEMpy version includes a change where creatordata is indexable, and all references to creatordata have been replaced with creatordata[0].