Skip to content

Commit fe6d287

Browse files
committed
Updated files related to material point method examples
1 parent 8ee2e80 commit fe6d287

10 files changed

Lines changed: 53 additions & 53 deletions

File tree

particle_mechanics/README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
# Particle Mechanics Examples
1+
# Material Point Method (MPM) Examples
22

3-
This folder contains examples related to the [Particle Mechanics Application](https://github.com/KratosMultiphysics/Kratos/tree/master/applications/ParticleMechanicsApplication) implemented in Kratos-Multiphysics.
3+
This folder contains examples related to the [MPM Application](https://github.com/KratosMultiphysics/Kratos/tree/master/applications/MPMApplication) implemented in Kratos-Multiphysics.
44

55
## Instruction
6-
- Please follow the instruction to download and install the latest version of the application and the GiD interface, [here](https://github.com/KratosMultiphysics/Kratos/tree/master/applications/ParticleMechanicsApplication).
6+
- Please follow the instruction to download and install the latest version of the application and the GiD interface, [here](https://github.com/KratosMultiphysics/Kratos/tree/master/applications/MPMApplication).
77
- At the moment, we only support [GiD](https://www.gidhome.com/) for pre- and post-processing.
8-
- For unit testings of the currently available feature, please visit the [tests](https://github.com/KratosMultiphysics/Kratos/tree/master/applications/ParticleMechanicsApplication/tests) folder in Particle Mechanics Application.
8+
- For unit testings of the currently available feature, please visit the [tests](https://github.com/KratosMultiphysics/Kratos/tree/master/applications/MPMApplication/tests) folder in MPM Application.
99

1010
## Examples
1111

particle_mechanics/validation/cylinder_on_inclined_plane/README.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
# Cylinder on inclined plane 2D - comparison between analytical and numerical solution with MPM
2-
**Author:** Philip Franz
2+
**Author:** Philip Franz
33

4-
**Kratos version:** Development branch. **Expected 9.1**
4+
**Kratos version:** Development branch. **Expected 9.1**
55

6-
**Source files:** [cylinder_on_inclined_plane_2D](https://github.com/KratosMultiphysics/Examples/tree/master/particle_mechanics/validation/cylinder_on_inclined_plane/source)
6+
**Source files:** [cylinder_on_inclined_plane_2D](https://github.com/KratosMultiphysics/Examples/tree/master/mpm/validation/cylinder_on_inclined_plane/source)
77

88

99

1010
## Case Specification
1111

12-
This is a 2D simulation of a cylinder on an inclined plane. A rotating as well as a frictionless sliding behaviour of the cylinder are regarded subsequently. The simulation is set up according to section 4.5.2 of (Iaconeta, 2019).
12+
This is a 2D simulation of a cylinder on an inclined plane. A rotating as well as a frictionless sliding behaviour of the cylinder are regarded subsequently. The simulation is set up according to section 4.5.2 of (Iaconeta, 2019).
1313
Linear, unstructured, triangular elements with a size of 0.01m are used to initialize the MPs. Three MPs per cell are considered. For the backgroundmesh linear, unstructured, triangular elements with a size of 0.02m are used.
14-
However, in contrast to section 4.5.2 of (Iaconeta, 2019), the inclined plane is modelled by a line with unstructured elements with size 0.01m. On that line a non conforming Dirichlet boundary condition is imposed by using the penalty method based on (Chandra et al., 2021).
14+
However, in contrast to section 4.5.2 of (Iaconeta, 2019), the inclined plane is modelled by a line with unstructured elements with size 0.01m. On that line a non conforming Dirichlet boundary condition is imposed by using the penalty method based on (Chandra et al., 2021).
1515

1616
The following applications of Kratos are used:
17-
- [ParticleMechanicsApplication](https://github.com/KratosMultiphysics/Kratos/tree/master/applications/ParticleMechanicsApplication)
17+
- [MPMApplication](https://github.com/KratosMultiphysics/Kratos/tree/master/applications/MPMApplication)
1818
- [LinearSolversApplication](https://github.com/KratosMultiphysics/Kratos/tree/master/applications/LinearSolversApplication)
1919

2020
The problem geometry as well as the boundary conditions are sketched below. The non conforming boundary condition is respresented by the copper coloured line.
@@ -28,7 +28,7 @@ A hyper elastic Neo Hookean Plane strain (2D) constitutive law with unit thickne
2828
* Young's modulus (_E_): 200 MPa
2929
* Poisson ratio (_ν_): 0.3
3030

31-
The time step is 0.001 seconds; the total simulation time is 1.0 seconds. The angle (_α_) of the inclined plane is 60°. The penalty-factor is 1e13.
31+
The time step is 0.001 seconds; the total simulation time is 1.0 seconds. The angle (_α_) of the inclined plane is 60°. The penalty-factor is 1e13.
3232

3333
The contact between cylinder and inclined plane is modelled with the option "contact" (see line 53, file *ProjectParameters_contact.json*) in the first and with "slip" in the second case, based on (Chandra et al., 2021). Choosing "contact" leads to a rolling behaviour of the cylinder; "slip" to frictionless sliding.
3434

@@ -51,7 +51,7 @@ The left image displays the rolling cylinder - modelled with option "contact". T
5151

5252

5353

54-
54+
5555
## References
56-
- Iaconeta, I. (2019). *Discrete-continuum hybrid modelling of flowing and static regimes.* (Ph.D. thesis). Universitat politècnica de Catalunya - Barcelona tech
57-
- Chandra, B., Singer, V., Teschemacher, T., Wüchner, R., Larese, A. (2021) *Nonconforming Dirichlet boundary conditions in implicit material point method by means of penalty augmentation*. Acta Geotech. 16, 2315–2335. https://doi.org/10.1007/s11440-020-01123-3
56+
- Iaconeta, I. (2019). *Discrete-continuum hybrid modelling of flowing and static regimes.* (Ph.D. thesis). Universitat politècnica de Catalunya - Barcelona tech
57+
- Chandra, B., Singer, V., Teschemacher, T., Wüchner, R., Larese, A. (2021) *Nonconforming Dirichlet boundary conditions in implicit material point method by means of penalty augmentation*. Acta Geotech. 16, 2315–2335. https://doi.org/10.1007/s11440-020-01123-3
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
from __future__ import print_function, absolute_import, division #makes KratosMultiphysics backward compatible with python 2.6 and 2.7
22

33
import KratosMultiphysics
4-
from KratosMultiphysics.ParticleMechanicsApplication.particle_mechanics_analysis import ParticleMechanicsAnalysis
4+
from KratosMultiphysics.MPMApplication.mpm_analysis import MPMAnalysis
55

66
"""
77
For user-scripting it is intended that a new class is derived
8-
from ParticleMechanicsAnalysis to do modifications
8+
from MPMAnalysis to do modifications
99
"""
1010

1111
if __name__ == "__main__":
@@ -14,5 +14,5 @@
1414
parameters = KratosMultiphysics.Parameters(parameter_file.read())
1515

1616
model = KratosMultiphysics.Model()
17-
simulation = ParticleMechanicsAnalysis(model,parameters)
17+
simulation = MPMAnalysis(model,parameters)
1818
simulation.Run()

particle_mechanics/validation/cylinder_on_inclined_plane/source/ParticleMaterials.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
},
99
"Variables" : {
1010
"THICKNESS" : 1.0,
11-
"PARTICLES_PER_ELEMENT" : 3,
11+
"MATERIAL_POINTS_PER_ELEMENT" : 3,
1212
"DENSITY" : 7800.0,
1313
"YOUNG_MODULUS" : 200000000.0,
1414
"POISSON_RATIO" : 0.3

particle_mechanics/validation/cylinder_on_inclined_plane/source/ProjectParameters_contact.json

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
"input_filename" : "cylinder on inclined plane 2d_Body"
2020
},
2121
"material_import_settings" : {
22-
"materials_filename" : "ParticleMaterials.json"
22+
"materials_filename" : "MaterialPointsMaterials.json"
2323
},
2424
"time_stepping" : {
2525
"time_step" : 0.001
@@ -40,19 +40,19 @@
4040
"processes" : {
4141
"list_other_processes" : [{
4242
"python_module" : "apply_mpm_particle_dirichlet_condition_process",
43-
"kratos_module" : "KratosMultiphysics.ParticleMechanicsApplication",
43+
"kratos_module" : "KratosMultiphysics.MPMApplication",
4444
"Parameters" : {
4545
"model_part_name" : "Background_Grid.Slip2D_Slip_Auto1",
46-
"particles_per_condition": 3,
46+
"material_points_per_condition": 3,
4747
"penalty_factor": 1e13,
4848
"constrained" : "contact",
4949
"option": "flip_normal"
5050
}
5151
}],
5252
"gravity" : [{
53-
"python_module" : "assign_gravity_to_particle_process",
54-
"kratos_module" : "KratosMultiphysics.ParticleMechanicsApplication",
55-
"process_name" : "AssignGravityToParticleProcess",
53+
"python_module" : "assign_gravity_to_material_point_process",
54+
"kratos_module" : "KratosMultiphysics.MPMApplication",
55+
"process_name" : "AssignGravityToMaterialPointProcess",
5656
"Parameters" : {
5757
"model_part_name" : "MPM_Material",
5858
"variable_name" : "MP_VOLUME_ACCELERATION",
@@ -63,9 +63,9 @@
6363
},
6464
"output_processes" : {
6565
"body_output_process" : [{
66-
"python_module" : "particle_gid_output_process",
67-
"kratos_module" : "KratosMultiphysics.ParticleMechanicsApplication",
68-
"process_name" : "ParticleMPMGiDOutputProcess",
66+
"python_module" : "mpm_gid_output_process",
67+
"kratos_module" : "KratosMultiphysics.MPMApplication",
68+
"process_name" : "MPMGiDOutputProcess",
6969
"help" : "This process writes postprocessing files for GiD",
7070
"Parameters" : {
7171
"model_part_name" : "MPM_Material",

particle_mechanics/validation/cylinder_on_inclined_plane/source/ProjectParameters_slip.json

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
"input_filename" : "cylinder on inclined plane 2d_Body"
2020
},
2121
"material_import_settings" : {
22-
"materials_filename" : "ParticleMaterials.json"
22+
"materials_filename" : "MaterialPointsMaterials.json"
2323
},
2424
"time_stepping" : {
2525
"time_step" : 0.001
@@ -40,19 +40,19 @@
4040
"processes" : {
4141
"list_other_processes" : [{
4242
"python_module" : "apply_mpm_particle_dirichlet_condition_process",
43-
"kratos_module" : "KratosMultiphysics.ParticleMechanicsApplication",
43+
"kratos_module" : "KratosMultiphysics.MPMApplication",
4444
"Parameters" : {
4545
"model_part_name" : "Background_Grid.Slip2D_Slip_Auto1",
46-
"particles_per_condition": 3,
46+
"material_points_per_condition": 3,
4747
"penalty_factor": 1e13,
4848
"constrained" : "slip",
4949
"option": "flip_normal"
5050
}
5151
}],
5252
"gravity" : [{
53-
"python_module" : "assign_gravity_to_particle_process",
54-
"kratos_module" : "KratosMultiphysics.ParticleMechanicsApplication",
55-
"process_name" : "AssignGravityToParticleProcess",
53+
"python_module" : "assign_gravity_to_material_point_process",
54+
"kratos_module" : "KratosMultiphysics.MPMApplication",
55+
"process_name" : "AssignGravityToMaterialPointProcess",
5656
"Parameters" : {
5757
"model_part_name" : "MPM_Material",
5858
"variable_name" : "MP_VOLUME_ACCELERATION",
@@ -63,9 +63,9 @@
6363
},
6464
"output_processes" : {
6565
"body_output_process" : [{
66-
"python_module" : "particle_gid_output_process",
67-
"kratos_module" : "KratosMultiphysics.ParticleMechanicsApplication",
68-
"process_name" : "ParticleMPMGiDOutputProcess",
66+
"python_module" : "mpm_gid_output_process",
67+
"kratos_module" : "KratosMultiphysics.MPMApplication",
68+
"process_name" : "MPMGiDOutputProcess",
6969
"help" : "This process writes postprocessing files for GiD",
7070
"Parameters" : {
7171
"model_part_name" : "MPM_Material",

particle_mechanics/validation/granular_flow_2D/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@
33

44
**Kratos version:** Development branch. **Expected 6.0**
55

6-
**Source files:** [granular_flow_2D](https://github.com/KratosMultiphysics/Examples/tree/master/particle_mechanics/validation/granular_flow_2D/source)
6+
**Source files:** [granular_flow_2D](https://github.com/KratosMultiphysics/Examples/tree/master/mpm/validation/granular_flow_2D/source)
77

88
## Case Specification
99

1010
This is a 2D non-cohesive granular material simulation according to the experiment conducted by (Bui et al., 2008). Here, linear structured triangular elements are used to initialize the MPs and as the background mesh. The structured mesh arrangement is chosen to avoid the irregularities of the generated MP’s density, which, by further, improving the numerical solutions.
1111

1212
The following application of Kratos is used:
13-
- [ParticleMechanicsApplication](https://github.com/KratosMultiphysics/Kratos/tree/master/applications/ParticleMechanicsApplication)
13+
- [MPMApplication](https://github.com/KratosMultiphysics/Kratos/tree/master/applications/MPMApplication)
1414

1515
The problem geometry as well as the boundary conditions are sketched below:
1616

@@ -34,7 +34,7 @@ The problem stated above has been solved with a structured mesh with 3 material
3434

3535
<p align="center">
3636
<img src="data/granular_flow_2D_results.png" alt="Obtained results and comparison." width="700" />
37-
37+
3838
(a.) Experiment conducted by (Bui et al., 2008), (b.) comparison of final surface configuration and failure line, (c.) simulation results of (Bui et al., 2008) by using SPH method, (d.) simulation results obtained by implicit MPM method
3939
</p>
4040

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
from __future__ import print_function, absolute_import, division #makes KratosMultiphysics backward compatible with python 2.6 and 2.7
22

33
import KratosMultiphysics
4-
from KratosMultiphysics.ParticleMechanicsApplication.particle_mechanics_analysis import ParticleMechanicsAnalysis
4+
from KratosMultiphysics.MPMApplication.mpm_analysis import MPMAnalysis
55

66
"""
77
For user-scripting it is intended that a new class is derived
8-
from ParticleMechanicsAnalysis to do modifications
8+
from MPMAnalysis to do modifications
99
"""
1010

1111
if __name__ == "__main__":
@@ -14,5 +14,5 @@
1414
parameters = KratosMultiphysics.Parameters(parameter_file.read())
1515

1616
model = KratosMultiphysics.Model()
17-
simulation = ParticleMechanicsAnalysis(model,parameters)
17+
simulation = MPMAnalysis(model,parameters)
1818
simulation.Run()

particle_mechanics/validation/granular_flow_2D/source/ParticleMaterials.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
},
99
"Variables" : {
1010
"THICKNESS" : 1.0,
11-
"PARTICLES_PER_ELEMENT" : 3,
11+
"MATERIAL_POINTS_PER_ELEMENT" : 3,
1212
"DENSITY" : 2650.0,
1313
"YOUNG_MODULUS" : 840000.0,
1414
"POISSON_RATIO" : 0.3,

particle_mechanics/validation/granular_flow_2D/source/ProjectParameters.json

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
"input_filename" : "granular_flow_2D_Body"
2020
},
2121
"material_import_settings" : {
22-
"materials_filename" : "ParticleMaterials.json"
22+
"materials_filename" : "MaterialPointsMaterials.json"
2323
},
2424
"time_stepping" : {
2525
"time_step" : 5e-5
@@ -58,9 +58,9 @@
5858
"loads_process_list" : [],
5959
"list_other_processes" : [],
6060
"gravity" : [{
61-
"python_module" : "assign_gravity_to_particle_process",
62-
"kratos_module" : "KratosMultiphysics.ParticleMechanicsApplication",
63-
"process_name" : "AssignGravityToParticleProcess",
61+
"python_module" : "assign_gravity_to_material_point_process",
62+
"kratos_module" : "KratosMultiphysics.MPMApplication",
63+
"process_name" : "AssignGravityToMaterialPointProcess",
6464
"Parameters" : {
6565
"model_part_name" : "MPM_Material",
6666
"variable_name" : "MP_VOLUME_ACCELERATION",
@@ -71,9 +71,9 @@
7171
},
7272
"output_processes" : {
7373
"body_output_process" : [{
74-
"python_module" : "particle_gid_output_process",
75-
"kratos_module" : "KratosMultiphysics.ParticleMechanicsApplication",
76-
"process_name" : "ParticleMPMGiDOutputProcess",
74+
"python_module" : "mpm_gid_output_process",
75+
"kratos_module" : "KratosMultiphysics.MPMApplication",
76+
"process_name" : "MPMGiDOutputProcess",
7777
"help" : "This process writes postprocessing files for GiD",
7878
"Parameters" : {
7979
"model_part_name" : "MPM_Material",
@@ -100,9 +100,9 @@
100100
}
101101
},
102102
{
103-
"python_module" : "particle_vtk_output_process",
104-
"kratos_module" : "KratosMultiphysics.ParticleMechanicsApplication",
105-
"process_name" : "ParticleVTKOutputProcess",
103+
"python_module" : "mpm_vtk_output_process",
104+
"kratos_module" : "KratosMultiphysics.MPMApplication",
105+
"process_name" : "MPMVTKOutputProcess",
106106
"Parameters" : {
107107
"model_part_name" : "MPM_Material",
108108
"output_path" : "granular_flow_2D_Body",

0 commit comments

Comments
 (0)