Skip to content

Commit

Permalink
Merge pull request #33 from prashjha/main
Browse files Browse the repository at this point in the history
Update joss branch
  • Loading branch information
prashjha authored Oct 18, 2024
2 parents 209c6cb + fd3d41d commit 50f1407
Show file tree
Hide file tree
Showing 8 changed files with 577 additions and 3 deletions.
9 changes: 7 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@
- [Running simulations](#Running-simulations)
* [Two-particle with wall](#Two-particle-with-wall)
* [Compressive test](#Compressive-test)
* [Attrition tests](#Attrition-tests)
* [Single particle deformation](#Single-particle-deformation)
- [Visualizing results](#Visualizing-results)
- [Developers](#Developers)

Expand Down Expand Up @@ -88,7 +90,7 @@ yielding of the system. For more details, we refer to
| Compressive test simulation |


### Attrition tests - Particles in a rotating container
### Attrition tests
We consider mix of different particles in a rotating container. Particles considered include circular, triangular, hexagonal, and drum shaped. Particles come in large and small shapes (their sizes are purturbed randomly). In order to to introduce diversity of material properties, we considered large particles to be tougher compared to the smaller ones. Setup files are in [examples/PeriDEM/attrition_tests](./examples/PeriDEM/attrition_tests)

| <img src="./assets/attrition_test_sim1.gif" width="250"> | <img src="./assets/attrition_test_sim2.gif" width="250"> |
Expand All @@ -99,6 +101,9 @@ Complex container geometries can be considered as well. For example, the image b

<img src="./examples/PeriDEM/attrition_tests/sim4_multi_particle_circ_tri_drum_hex_with_rotating_rectangle_container_with_protrusion_and_opening_within_bigger_rectangle_container/init_view.png" width="600">

### Single particle deformation
We can use `PeriDEM` executable or `Peridynamics` executable in `apps` directory to simulate the deformation of single particle/structure using peridynamics. See [examples/README.md](./examples/README.md) and [examples/Peridynamics](./examples/Peridynamics) folder.

## Brief implementation details
The main implementation of the model is carried out in the model directory [dem](./src/model/dem).
The model is implemented in class [DEMModel](./src/model/dem/demModel.cpp).
Expand Down Expand Up @@ -362,4 +367,4 @@ You can also cite the PeriDEM using zenodo doi:
## Developers
- [Prashant K. Jha](https://prashjha.github.io/)
(pjha.sci@gmail.com, prashant.jha@austin.utexas.edu, prashant.jha@port.ac.uk)
(pjha.sci@gmail.com, prashant.jha@sdsmt.edu)
2 changes: 1 addition & 1 deletion apps/peridynamics/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@
#include <taskflow/taskflow/algorithm/for_each.hpp>

/*!
* @brief Namespace to define peridynamics apps that is meant to simulate single particle deformation.
* @brief Namespace to define peridynamics app for single particle deformation.
*/
namespace peridynamics {

Expand Down
82 changes: 82 additions & 0 deletions examples/Peridynamics/circle/input_0.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
Model:
Dimension: 2
Discretization_Type:
Spatial: finite_difference
Time: central_difference
Final_Time: 1.000000e-02
Time_Steps: 20000
Particle_Sim_Type: Single_Particle
# Zone block is optional
# For Single_Particle simulation, zone = 1 is fixed
Zone:
Zones: 1
# Particle block is not needed if mesh file is provided but if we are creating mesh
# using in-built function, we need geometry information within this block
Particle:
# optional
Test_Name: test_peridynamics
Zone_1:
Type: circle
Parameters: [3.000000e-03, 0.000000e+00, 0.000000e+00, 0.000000e+00]
Mesh:
Zone_1:
File: mesh_cir_1_0.msh
Material:
Zone_1:
Type: PDState
Horizon: 6.000000e-04
Density: 1.200000e+03
Compute_From_Classical: true
K: 2.160000e+05
G: 1.296000e+05
Gc: 5.000000e+02
Influence_Function:
Type: 1
Displacement_BC:
Sets: 2
Set_1:
Region:
Geometry:
Type: rectangle
Parameters: [-0.001, -0.001, 0, -0.0005, -0.0005, 0]
Direction: [1,2]
Time_Function:
Type: constant
Parameters:
- 0.0
Spatial_Function:
Type: constant
Zero_Displacement: true
Set_2:
Region:
Geometry:
Type: rectangle
Parameters: [0.0005, 0.0005, 0, 0.001, 0.001, 0]
Direction: [1,2]
Time_Function:
Type: linear
Parameters:
- 0.005
Spatial_Function:
Type: constant
Output:
Path: ./out/
Tags:
- Displacement
- Velocity
- Force
- Force_Density
- Damage_Z
- Damage
- Nodal_Volume
- Zone_ID
- Particle_ID
- Fixity
- Force_Fixity
- Theta
Output_Interval: 1000
Compress_Type: zlib
Perform_FE_Out: true
Perform_Out: true
Debug: 3
Tag_PP: 0
Loading

0 comments on commit 50f1407

Please sign in to comment.