From 8ee2e8011e81836db0df5c49fd0fbe67bbbb948a Mon Sep 17 00:00:00 2001 From: ncrescenzio Date: Tue, 30 Jan 2024 16:02:44 +0000 Subject: [PATCH 1/4] Update `README.md` --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index bd493711..c89633a4 100644 --- a/README.md +++ b/README.md @@ -130,11 +130,11 @@ Unit tests should *not* be uploaded to this repository. Please put them in the ` - [Small Box Lagrangian OW](swimming_dem_fluid_interaction/use_cases/PFEMFluid_Element/One_Way/Small_Box_Eulerian_OW/README.md) - [Small Box Lagrangian TW](swimming_dem_fluid_interaction/use_cases/PFEMFluid_Element/Two_Way/Small_Box_Eulerian_TW/README.md) -## Particle Mechanics +## MPM (Material Point Method) **Validation** -- [Granular Flow 2D](particle_mechanics/validation/granular_flow_2D/README.md) -- [Cylinder on inclined plane 2D](particle_mechanics/validation/cylinder_on_inclined_plane/README.md) +- [Granular Flow 2D](mpm/validation/granular_flow_2D/README.md) +- [Cylinder on inclined plane 2D](mpm/validation/cylinder_on_inclined_plane/README.md) ## PFEM2 From fe6d287404dc5637b537ab0067f4ed37cd108fc6 Mon Sep 17 00:00:00 2001 From: ncrescenzio Date: Tue, 30 Jan 2024 16:23:08 +0000 Subject: [PATCH 2/4] Updated files related to material point method examples --- particle_mechanics/README.md | 8 ++++---- .../cylinder_on_inclined_plane/README.md | 20 +++++++++---------- .../source/MainKratos.py | 6 +++--- .../source/ParticleMaterials.json | 2 +- .../source/ProjectParameters_contact.json | 18 ++++++++--------- .../source/ProjectParameters_slip.json | 18 ++++++++--------- .../validation/granular_flow_2D/README.md | 6 +++--- .../granular_flow_2D/source/MainKratos.py | 6 +++--- .../source/ParticleMaterials.json | 2 +- .../source/ProjectParameters.json | 20 +++++++++---------- 10 files changed, 53 insertions(+), 53 deletions(-) diff --git a/particle_mechanics/README.md b/particle_mechanics/README.md index 95143088..4cf8921b 100644 --- a/particle_mechanics/README.md +++ b/particle_mechanics/README.md @@ -1,11 +1,11 @@ -# Particle Mechanics Examples +# Material Point Method (MPM) Examples -This folder contains examples related to the [Particle Mechanics Application](https://github.com/KratosMultiphysics/Kratos/tree/master/applications/ParticleMechanicsApplication) implemented in Kratos-Multiphysics. +This folder contains examples related to the [MPM Application](https://github.com/KratosMultiphysics/Kratos/tree/master/applications/MPMApplication) implemented in Kratos-Multiphysics. ## Instruction -- 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). +- 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). - At the moment, we only support [GiD](https://www.gidhome.com/) for pre- and post-processing. -- 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. +- 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. ## Examples diff --git a/particle_mechanics/validation/cylinder_on_inclined_plane/README.md b/particle_mechanics/validation/cylinder_on_inclined_plane/README.md index ba6d74a0..7ba97347 100644 --- a/particle_mechanics/validation/cylinder_on_inclined_plane/README.md +++ b/particle_mechanics/validation/cylinder_on_inclined_plane/README.md @@ -1,20 +1,20 @@ # Cylinder on inclined plane 2D - comparison between analytical and numerical solution with MPM -**Author:** Philip Franz +**Author:** Philip Franz -**Kratos version:** Development branch. **Expected 9.1** +**Kratos version:** Development branch. **Expected 9.1** -**Source files:** [cylinder_on_inclined_plane_2D](https://github.com/KratosMultiphysics/Examples/tree/master/particle_mechanics/validation/cylinder_on_inclined_plane/source) +**Source files:** [cylinder_on_inclined_plane_2D](https://github.com/KratosMultiphysics/Examples/tree/master/mpm/validation/cylinder_on_inclined_plane/source) ## Case Specification -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). +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). 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. -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). +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). The following applications of Kratos are used: -- [ParticleMechanicsApplication](https://github.com/KratosMultiphysics/Kratos/tree/master/applications/ParticleMechanicsApplication) +- [MPMApplication](https://github.com/KratosMultiphysics/Kratos/tree/master/applications/MPMApplication) - [LinearSolversApplication](https://github.com/KratosMultiphysics/Kratos/tree/master/applications/LinearSolversApplication) 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 * Young's modulus (_E_): 200 MPa * Poisson ratio (_ν_): 0.3 -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. +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. 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. @@ -51,7 +51,7 @@ The left image displays the rolling cylinder - modelled with option "contact". T - + ## References -- Iaconeta, I. (2019). *Discrete-continuum hybrid modelling of flowing and static regimes.* (Ph.D. thesis). Universitat politècnica de Catalunya - Barcelona tech -- 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 +- Iaconeta, I. (2019). *Discrete-continuum hybrid modelling of flowing and static regimes.* (Ph.D. thesis). Universitat politècnica de Catalunya - Barcelona tech +- 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 diff --git a/particle_mechanics/validation/cylinder_on_inclined_plane/source/MainKratos.py b/particle_mechanics/validation/cylinder_on_inclined_plane/source/MainKratos.py index db85722b..7309537f 100644 --- a/particle_mechanics/validation/cylinder_on_inclined_plane/source/MainKratos.py +++ b/particle_mechanics/validation/cylinder_on_inclined_plane/source/MainKratos.py @@ -1,11 +1,11 @@ from __future__ import print_function, absolute_import, division #makes KratosMultiphysics backward compatible with python 2.6 and 2.7 import KratosMultiphysics -from KratosMultiphysics.ParticleMechanicsApplication.particle_mechanics_analysis import ParticleMechanicsAnalysis +from KratosMultiphysics.MPMApplication.mpm_analysis import MPMAnalysis """ For user-scripting it is intended that a new class is derived -from ParticleMechanicsAnalysis to do modifications +from MPMAnalysis to do modifications """ if __name__ == "__main__": @@ -14,5 +14,5 @@ parameters = KratosMultiphysics.Parameters(parameter_file.read()) model = KratosMultiphysics.Model() - simulation = ParticleMechanicsAnalysis(model,parameters) + simulation = MPMAnalysis(model,parameters) simulation.Run() diff --git a/particle_mechanics/validation/cylinder_on_inclined_plane/source/ParticleMaterials.json b/particle_mechanics/validation/cylinder_on_inclined_plane/source/ParticleMaterials.json index 9891ed71..4dab2fea 100644 --- a/particle_mechanics/validation/cylinder_on_inclined_plane/source/ParticleMaterials.json +++ b/particle_mechanics/validation/cylinder_on_inclined_plane/source/ParticleMaterials.json @@ -8,7 +8,7 @@ }, "Variables" : { "THICKNESS" : 1.0, - "PARTICLES_PER_ELEMENT" : 3, + "MATERIAL_POINTS_PER_ELEMENT" : 3, "DENSITY" : 7800.0, "YOUNG_MODULUS" : 200000000.0, "POISSON_RATIO" : 0.3 diff --git a/particle_mechanics/validation/cylinder_on_inclined_plane/source/ProjectParameters_contact.json b/particle_mechanics/validation/cylinder_on_inclined_plane/source/ProjectParameters_contact.json index 2db4cd46..645680ce 100644 --- a/particle_mechanics/validation/cylinder_on_inclined_plane/source/ProjectParameters_contact.json +++ b/particle_mechanics/validation/cylinder_on_inclined_plane/source/ProjectParameters_contact.json @@ -19,7 +19,7 @@ "input_filename" : "cylinder on inclined plane 2d_Body" }, "material_import_settings" : { - "materials_filename" : "ParticleMaterials.json" + "materials_filename" : "MaterialPointsMaterials.json" }, "time_stepping" : { "time_step" : 0.001 @@ -40,19 +40,19 @@ "processes" : { "list_other_processes" : [{ "python_module" : "apply_mpm_particle_dirichlet_condition_process", - "kratos_module" : "KratosMultiphysics.ParticleMechanicsApplication", + "kratos_module" : "KratosMultiphysics.MPMApplication", "Parameters" : { "model_part_name" : "Background_Grid.Slip2D_Slip_Auto1", - "particles_per_condition": 3, + "material_points_per_condition": 3, "penalty_factor": 1e13, "constrained" : "contact", "option": "flip_normal" } }], "gravity" : [{ - "python_module" : "assign_gravity_to_particle_process", - "kratos_module" : "KratosMultiphysics.ParticleMechanicsApplication", - "process_name" : "AssignGravityToParticleProcess", + "python_module" : "assign_gravity_to_material_point_process", + "kratos_module" : "KratosMultiphysics.MPMApplication", + "process_name" : "AssignGravityToMaterialPointProcess", "Parameters" : { "model_part_name" : "MPM_Material", "variable_name" : "MP_VOLUME_ACCELERATION", @@ -63,9 +63,9 @@ }, "output_processes" : { "body_output_process" : [{ - "python_module" : "particle_gid_output_process", - "kratos_module" : "KratosMultiphysics.ParticleMechanicsApplication", - "process_name" : "ParticleMPMGiDOutputProcess", + "python_module" : "mpm_gid_output_process", + "kratos_module" : "KratosMultiphysics.MPMApplication", + "process_name" : "MPMGiDOutputProcess", "help" : "This process writes postprocessing files for GiD", "Parameters" : { "model_part_name" : "MPM_Material", diff --git a/particle_mechanics/validation/cylinder_on_inclined_plane/source/ProjectParameters_slip.json b/particle_mechanics/validation/cylinder_on_inclined_plane/source/ProjectParameters_slip.json index fbeaec2c..6c5a7773 100644 --- a/particle_mechanics/validation/cylinder_on_inclined_plane/source/ProjectParameters_slip.json +++ b/particle_mechanics/validation/cylinder_on_inclined_plane/source/ProjectParameters_slip.json @@ -19,7 +19,7 @@ "input_filename" : "cylinder on inclined plane 2d_Body" }, "material_import_settings" : { - "materials_filename" : "ParticleMaterials.json" + "materials_filename" : "MaterialPointsMaterials.json" }, "time_stepping" : { "time_step" : 0.001 @@ -40,19 +40,19 @@ "processes" : { "list_other_processes" : [{ "python_module" : "apply_mpm_particle_dirichlet_condition_process", - "kratos_module" : "KratosMultiphysics.ParticleMechanicsApplication", + "kratos_module" : "KratosMultiphysics.MPMApplication", "Parameters" : { "model_part_name" : "Background_Grid.Slip2D_Slip_Auto1", - "particles_per_condition": 3, + "material_points_per_condition": 3, "penalty_factor": 1e13, "constrained" : "slip", "option": "flip_normal" } }], "gravity" : [{ - "python_module" : "assign_gravity_to_particle_process", - "kratos_module" : "KratosMultiphysics.ParticleMechanicsApplication", - "process_name" : "AssignGravityToParticleProcess", + "python_module" : "assign_gravity_to_material_point_process", + "kratos_module" : "KratosMultiphysics.MPMApplication", + "process_name" : "AssignGravityToMaterialPointProcess", "Parameters" : { "model_part_name" : "MPM_Material", "variable_name" : "MP_VOLUME_ACCELERATION", @@ -63,9 +63,9 @@ }, "output_processes" : { "body_output_process" : [{ - "python_module" : "particle_gid_output_process", - "kratos_module" : "KratosMultiphysics.ParticleMechanicsApplication", - "process_name" : "ParticleMPMGiDOutputProcess", + "python_module" : "mpm_gid_output_process", + "kratos_module" : "KratosMultiphysics.MPMApplication", + "process_name" : "MPMGiDOutputProcess", "help" : "This process writes postprocessing files for GiD", "Parameters" : { "model_part_name" : "MPM_Material", diff --git a/particle_mechanics/validation/granular_flow_2D/README.md b/particle_mechanics/validation/granular_flow_2D/README.md index a68c80fc..1eeb8f3c 100644 --- a/particle_mechanics/validation/granular_flow_2D/README.md +++ b/particle_mechanics/validation/granular_flow_2D/README.md @@ -3,14 +3,14 @@ **Kratos version:** Development branch. **Expected 6.0** -**Source files:** [granular_flow_2D](https://github.com/KratosMultiphysics/Examples/tree/master/particle_mechanics/validation/granular_flow_2D/source) +**Source files:** [granular_flow_2D](https://github.com/KratosMultiphysics/Examples/tree/master/mpm/validation/granular_flow_2D/source) ## Case Specification 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. The following application of Kratos is used: -- [ParticleMechanicsApplication](https://github.com/KratosMultiphysics/Kratos/tree/master/applications/ParticleMechanicsApplication) +- [MPMApplication](https://github.com/KratosMultiphysics/Kratos/tree/master/applications/MPMApplication) The problem geometry as well as the boundary conditions are sketched below: @@ -34,7 +34,7 @@ The problem stated above has been solved with a structured mesh with 3 material

Obtained results and comparison. - + (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

diff --git a/particle_mechanics/validation/granular_flow_2D/source/MainKratos.py b/particle_mechanics/validation/granular_flow_2D/source/MainKratos.py index 0f26028c..ca7b1b61 100644 --- a/particle_mechanics/validation/granular_flow_2D/source/MainKratos.py +++ b/particle_mechanics/validation/granular_flow_2D/source/MainKratos.py @@ -1,11 +1,11 @@ from __future__ import print_function, absolute_import, division #makes KratosMultiphysics backward compatible with python 2.6 and 2.7 import KratosMultiphysics -from KratosMultiphysics.ParticleMechanicsApplication.particle_mechanics_analysis import ParticleMechanicsAnalysis +from KratosMultiphysics.MPMApplication.mpm_analysis import MPMAnalysis """ For user-scripting it is intended that a new class is derived -from ParticleMechanicsAnalysis to do modifications +from MPMAnalysis to do modifications """ if __name__ == "__main__": @@ -14,5 +14,5 @@ parameters = KratosMultiphysics.Parameters(parameter_file.read()) model = KratosMultiphysics.Model() - simulation = ParticleMechanicsAnalysis(model,parameters) + simulation = MPMAnalysis(model,parameters) simulation.Run() diff --git a/particle_mechanics/validation/granular_flow_2D/source/ParticleMaterials.json b/particle_mechanics/validation/granular_flow_2D/source/ParticleMaterials.json index 206e0edd..1868300a 100644 --- a/particle_mechanics/validation/granular_flow_2D/source/ParticleMaterials.json +++ b/particle_mechanics/validation/granular_flow_2D/source/ParticleMaterials.json @@ -8,7 +8,7 @@ }, "Variables" : { "THICKNESS" : 1.0, - "PARTICLES_PER_ELEMENT" : 3, + "MATERIAL_POINTS_PER_ELEMENT" : 3, "DENSITY" : 2650.0, "YOUNG_MODULUS" : 840000.0, "POISSON_RATIO" : 0.3, diff --git a/particle_mechanics/validation/granular_flow_2D/source/ProjectParameters.json b/particle_mechanics/validation/granular_flow_2D/source/ProjectParameters.json index 3a81f48f..4f5dd05b 100644 --- a/particle_mechanics/validation/granular_flow_2D/source/ProjectParameters.json +++ b/particle_mechanics/validation/granular_flow_2D/source/ProjectParameters.json @@ -19,7 +19,7 @@ "input_filename" : "granular_flow_2D_Body" }, "material_import_settings" : { - "materials_filename" : "ParticleMaterials.json" + "materials_filename" : "MaterialPointsMaterials.json" }, "time_stepping" : { "time_step" : 5e-5 @@ -58,9 +58,9 @@ "loads_process_list" : [], "list_other_processes" : [], "gravity" : [{ - "python_module" : "assign_gravity_to_particle_process", - "kratos_module" : "KratosMultiphysics.ParticleMechanicsApplication", - "process_name" : "AssignGravityToParticleProcess", + "python_module" : "assign_gravity_to_material_point_process", + "kratos_module" : "KratosMultiphysics.MPMApplication", + "process_name" : "AssignGravityToMaterialPointProcess", "Parameters" : { "model_part_name" : "MPM_Material", "variable_name" : "MP_VOLUME_ACCELERATION", @@ -71,9 +71,9 @@ }, "output_processes" : { "body_output_process" : [{ - "python_module" : "particle_gid_output_process", - "kratos_module" : "KratosMultiphysics.ParticleMechanicsApplication", - "process_name" : "ParticleMPMGiDOutputProcess", + "python_module" : "mpm_gid_output_process", + "kratos_module" : "KratosMultiphysics.MPMApplication", + "process_name" : "MPMGiDOutputProcess", "help" : "This process writes postprocessing files for GiD", "Parameters" : { "model_part_name" : "MPM_Material", @@ -100,9 +100,9 @@ } }, { - "python_module" : "particle_vtk_output_process", - "kratos_module" : "KratosMultiphysics.ParticleMechanicsApplication", - "process_name" : "ParticleVTKOutputProcess", + "python_module" : "mpm_vtk_output_process", + "kratos_module" : "KratosMultiphysics.MPMApplication", + "process_name" : "MPMVTKOutputProcess", "Parameters" : { "model_part_name" : "MPM_Material", "output_path" : "granular_flow_2D_Body", From 156d5a59c114253dbe1cf7387fd929f5a2310f7d Mon Sep 17 00:00:00 2001 From: ncrescenzio Date: Tue, 30 Jan 2024 16:23:43 +0000 Subject: [PATCH 3/4] Changed folder name from `particle_mechanics` to `mpm` --- {particle_mechanics => mpm}/README.md | 0 {particle_mechanics => mpm}/use_cases/README.md | 0 {particle_mechanics => mpm}/validation/README.md | 0 .../validation/cylinder_on_inclined_plane/README.md | 0 .../Cylinder_on_inclined_plane_with_grid_detail.png | Bin .../data/comparison_analytical_numerical_disp.png | Bin .../data/rolling cylinder gif.gif | Bin .../data/sliding cylinder gif.gif | Bin .../cylinder_on_inclined_plane/source/MainKratos.py | 0 .../source/ParticleMaterials.json | 0 .../source/ProjectParameters_contact.json | 0 .../source/ProjectParameters_slip.json | 0 .../source/cylinder on inclined plane 2d_Body.mdpa | 0 .../source/cylinder on inclined plane 2d_Grid.mdpa | 0 .../validation/granular_flow_2D/README.md | 0 .../data/granular_flow_2D_initial.png | Bin .../data/granular_flow_2D_results.png | Bin .../granular_flow_2D/source/MainKratos.py | 0 .../granular_flow_2D/source/ParticleMaterials.json | 0 .../granular_flow_2D/source/ProjectParameters.json | 0 .../source/granular_flow_2D_Body.mdpa | 0 .../source/granular_flow_2D_Grid.mdpa | 0 22 files changed, 0 insertions(+), 0 deletions(-) rename {particle_mechanics => mpm}/README.md (100%) rename {particle_mechanics => mpm}/use_cases/README.md (100%) rename {particle_mechanics => mpm}/validation/README.md (100%) rename {particle_mechanics => mpm}/validation/cylinder_on_inclined_plane/README.md (100%) rename {particle_mechanics => mpm}/validation/cylinder_on_inclined_plane/data/Cylinder_on_inclined_plane_with_grid_detail.png (100%) rename {particle_mechanics => mpm}/validation/cylinder_on_inclined_plane/data/comparison_analytical_numerical_disp.png (100%) rename {particle_mechanics => mpm}/validation/cylinder_on_inclined_plane/data/rolling cylinder gif.gif (100%) rename {particle_mechanics => mpm}/validation/cylinder_on_inclined_plane/data/sliding cylinder gif.gif (100%) rename {particle_mechanics => mpm}/validation/cylinder_on_inclined_plane/source/MainKratos.py (100%) rename {particle_mechanics => mpm}/validation/cylinder_on_inclined_plane/source/ParticleMaterials.json (100%) rename {particle_mechanics => mpm}/validation/cylinder_on_inclined_plane/source/ProjectParameters_contact.json (100%) rename {particle_mechanics => mpm}/validation/cylinder_on_inclined_plane/source/ProjectParameters_slip.json (100%) rename {particle_mechanics => mpm}/validation/cylinder_on_inclined_plane/source/cylinder on inclined plane 2d_Body.mdpa (100%) rename {particle_mechanics => mpm}/validation/cylinder_on_inclined_plane/source/cylinder on inclined plane 2d_Grid.mdpa (100%) rename {particle_mechanics => mpm}/validation/granular_flow_2D/README.md (100%) rename {particle_mechanics => mpm}/validation/granular_flow_2D/data/granular_flow_2D_initial.png (100%) rename {particle_mechanics => mpm}/validation/granular_flow_2D/data/granular_flow_2D_results.png (100%) rename {particle_mechanics => mpm}/validation/granular_flow_2D/source/MainKratos.py (100%) rename {particle_mechanics => mpm}/validation/granular_flow_2D/source/ParticleMaterials.json (100%) rename {particle_mechanics => mpm}/validation/granular_flow_2D/source/ProjectParameters.json (100%) rename {particle_mechanics => mpm}/validation/granular_flow_2D/source/granular_flow_2D_Body.mdpa (100%) rename {particle_mechanics => mpm}/validation/granular_flow_2D/source/granular_flow_2D_Grid.mdpa (100%) diff --git a/particle_mechanics/README.md b/mpm/README.md similarity index 100% rename from particle_mechanics/README.md rename to mpm/README.md diff --git a/particle_mechanics/use_cases/README.md b/mpm/use_cases/README.md similarity index 100% rename from particle_mechanics/use_cases/README.md rename to mpm/use_cases/README.md diff --git a/particle_mechanics/validation/README.md b/mpm/validation/README.md similarity index 100% rename from particle_mechanics/validation/README.md rename to mpm/validation/README.md diff --git a/particle_mechanics/validation/cylinder_on_inclined_plane/README.md b/mpm/validation/cylinder_on_inclined_plane/README.md similarity index 100% rename from particle_mechanics/validation/cylinder_on_inclined_plane/README.md rename to mpm/validation/cylinder_on_inclined_plane/README.md diff --git a/particle_mechanics/validation/cylinder_on_inclined_plane/data/Cylinder_on_inclined_plane_with_grid_detail.png b/mpm/validation/cylinder_on_inclined_plane/data/Cylinder_on_inclined_plane_with_grid_detail.png similarity index 100% rename from particle_mechanics/validation/cylinder_on_inclined_plane/data/Cylinder_on_inclined_plane_with_grid_detail.png rename to mpm/validation/cylinder_on_inclined_plane/data/Cylinder_on_inclined_plane_with_grid_detail.png diff --git a/particle_mechanics/validation/cylinder_on_inclined_plane/data/comparison_analytical_numerical_disp.png b/mpm/validation/cylinder_on_inclined_plane/data/comparison_analytical_numerical_disp.png similarity index 100% rename from particle_mechanics/validation/cylinder_on_inclined_plane/data/comparison_analytical_numerical_disp.png rename to mpm/validation/cylinder_on_inclined_plane/data/comparison_analytical_numerical_disp.png diff --git a/particle_mechanics/validation/cylinder_on_inclined_plane/data/rolling cylinder gif.gif b/mpm/validation/cylinder_on_inclined_plane/data/rolling cylinder gif.gif similarity index 100% rename from particle_mechanics/validation/cylinder_on_inclined_plane/data/rolling cylinder gif.gif rename to mpm/validation/cylinder_on_inclined_plane/data/rolling cylinder gif.gif diff --git a/particle_mechanics/validation/cylinder_on_inclined_plane/data/sliding cylinder gif.gif b/mpm/validation/cylinder_on_inclined_plane/data/sliding cylinder gif.gif similarity index 100% rename from particle_mechanics/validation/cylinder_on_inclined_plane/data/sliding cylinder gif.gif rename to mpm/validation/cylinder_on_inclined_plane/data/sliding cylinder gif.gif diff --git a/particle_mechanics/validation/cylinder_on_inclined_plane/source/MainKratos.py b/mpm/validation/cylinder_on_inclined_plane/source/MainKratos.py similarity index 100% rename from particle_mechanics/validation/cylinder_on_inclined_plane/source/MainKratos.py rename to mpm/validation/cylinder_on_inclined_plane/source/MainKratos.py diff --git a/particle_mechanics/validation/cylinder_on_inclined_plane/source/ParticleMaterials.json b/mpm/validation/cylinder_on_inclined_plane/source/ParticleMaterials.json similarity index 100% rename from particle_mechanics/validation/cylinder_on_inclined_plane/source/ParticleMaterials.json rename to mpm/validation/cylinder_on_inclined_plane/source/ParticleMaterials.json diff --git a/particle_mechanics/validation/cylinder_on_inclined_plane/source/ProjectParameters_contact.json b/mpm/validation/cylinder_on_inclined_plane/source/ProjectParameters_contact.json similarity index 100% rename from particle_mechanics/validation/cylinder_on_inclined_plane/source/ProjectParameters_contact.json rename to mpm/validation/cylinder_on_inclined_plane/source/ProjectParameters_contact.json diff --git a/particle_mechanics/validation/cylinder_on_inclined_plane/source/ProjectParameters_slip.json b/mpm/validation/cylinder_on_inclined_plane/source/ProjectParameters_slip.json similarity index 100% rename from particle_mechanics/validation/cylinder_on_inclined_plane/source/ProjectParameters_slip.json rename to mpm/validation/cylinder_on_inclined_plane/source/ProjectParameters_slip.json diff --git a/particle_mechanics/validation/cylinder_on_inclined_plane/source/cylinder on inclined plane 2d_Body.mdpa b/mpm/validation/cylinder_on_inclined_plane/source/cylinder on inclined plane 2d_Body.mdpa similarity index 100% rename from particle_mechanics/validation/cylinder_on_inclined_plane/source/cylinder on inclined plane 2d_Body.mdpa rename to mpm/validation/cylinder_on_inclined_plane/source/cylinder on inclined plane 2d_Body.mdpa diff --git a/particle_mechanics/validation/cylinder_on_inclined_plane/source/cylinder on inclined plane 2d_Grid.mdpa b/mpm/validation/cylinder_on_inclined_plane/source/cylinder on inclined plane 2d_Grid.mdpa similarity index 100% rename from particle_mechanics/validation/cylinder_on_inclined_plane/source/cylinder on inclined plane 2d_Grid.mdpa rename to mpm/validation/cylinder_on_inclined_plane/source/cylinder on inclined plane 2d_Grid.mdpa diff --git a/particle_mechanics/validation/granular_flow_2D/README.md b/mpm/validation/granular_flow_2D/README.md similarity index 100% rename from particle_mechanics/validation/granular_flow_2D/README.md rename to mpm/validation/granular_flow_2D/README.md diff --git a/particle_mechanics/validation/granular_flow_2D/data/granular_flow_2D_initial.png b/mpm/validation/granular_flow_2D/data/granular_flow_2D_initial.png similarity index 100% rename from particle_mechanics/validation/granular_flow_2D/data/granular_flow_2D_initial.png rename to mpm/validation/granular_flow_2D/data/granular_flow_2D_initial.png diff --git a/particle_mechanics/validation/granular_flow_2D/data/granular_flow_2D_results.png b/mpm/validation/granular_flow_2D/data/granular_flow_2D_results.png similarity index 100% rename from particle_mechanics/validation/granular_flow_2D/data/granular_flow_2D_results.png rename to mpm/validation/granular_flow_2D/data/granular_flow_2D_results.png diff --git a/particle_mechanics/validation/granular_flow_2D/source/MainKratos.py b/mpm/validation/granular_flow_2D/source/MainKratos.py similarity index 100% rename from particle_mechanics/validation/granular_flow_2D/source/MainKratos.py rename to mpm/validation/granular_flow_2D/source/MainKratos.py diff --git a/particle_mechanics/validation/granular_flow_2D/source/ParticleMaterials.json b/mpm/validation/granular_flow_2D/source/ParticleMaterials.json similarity index 100% rename from particle_mechanics/validation/granular_flow_2D/source/ParticleMaterials.json rename to mpm/validation/granular_flow_2D/source/ParticleMaterials.json diff --git a/particle_mechanics/validation/granular_flow_2D/source/ProjectParameters.json b/mpm/validation/granular_flow_2D/source/ProjectParameters.json similarity index 100% rename from particle_mechanics/validation/granular_flow_2D/source/ProjectParameters.json rename to mpm/validation/granular_flow_2D/source/ProjectParameters.json diff --git a/particle_mechanics/validation/granular_flow_2D/source/granular_flow_2D_Body.mdpa b/mpm/validation/granular_flow_2D/source/granular_flow_2D_Body.mdpa similarity index 100% rename from particle_mechanics/validation/granular_flow_2D/source/granular_flow_2D_Body.mdpa rename to mpm/validation/granular_flow_2D/source/granular_flow_2D_Body.mdpa diff --git a/particle_mechanics/validation/granular_flow_2D/source/granular_flow_2D_Grid.mdpa b/mpm/validation/granular_flow_2D/source/granular_flow_2D_Grid.mdpa similarity index 100% rename from particle_mechanics/validation/granular_flow_2D/source/granular_flow_2D_Grid.mdpa rename to mpm/validation/granular_flow_2D/source/granular_flow_2D_Grid.mdpa From c6187a593c8288e203e8bc323f2c5d7f1ad53e20 Mon Sep 17 00:00:00 2001 From: ncrescenzio Date: Tue, 12 Mar 2024 10:53:45 +0000 Subject: [PATCH 4/4] minor changes --- .../source/MainKratos.py | 2 - .../source/ProjectParameters_contact.json | 40 ++++++++++++++++--- .../source/ProjectParameters_slip.json | 40 ++++++++++++++++--- .../granular_flow_2D/source/MainKratos.py | 2 - .../source/ProjectParameters.json | 12 +++--- 5 files changed, 76 insertions(+), 20 deletions(-) diff --git a/mpm/validation/cylinder_on_inclined_plane/source/MainKratos.py b/mpm/validation/cylinder_on_inclined_plane/source/MainKratos.py index 7309537f..5429070a 100644 --- a/mpm/validation/cylinder_on_inclined_plane/source/MainKratos.py +++ b/mpm/validation/cylinder_on_inclined_plane/source/MainKratos.py @@ -1,5 +1,3 @@ -from __future__ import print_function, absolute_import, division #makes KratosMultiphysics backward compatible with python 2.6 and 2.7 - import KratosMultiphysics from KratosMultiphysics.MPMApplication.mpm_analysis import MPMAnalysis diff --git a/mpm/validation/cylinder_on_inclined_plane/source/ProjectParameters_contact.json b/mpm/validation/cylinder_on_inclined_plane/source/ProjectParameters_contact.json index 645680ce..06278120 100644 --- a/mpm/validation/cylinder_on_inclined_plane/source/ProjectParameters_contact.json +++ b/mpm/validation/cylinder_on_inclined_plane/source/ProjectParameters_contact.json @@ -19,7 +19,7 @@ "input_filename" : "cylinder on inclined plane 2d_Body" }, "material_import_settings" : { - "materials_filename" : "MaterialPointsMaterials.json" + "materials_filename" : "ParticleMaterials.json" }, "time_stepping" : { "time_step" : 0.001 @@ -35,7 +35,7 @@ "input_filename" : "cylinder on inclined plane 2d_Grid" }, "pressure_dofs" : false, - "auxiliary_variables_list" : ["NORMAL","IS_STRUCTURE"] + "auxiliary_variables_list" : ["NODAL_AREA","NORMAL","IS_STRUCTURE"] }, "processes" : { "list_other_processes" : [{ @@ -62,7 +62,7 @@ }] }, "output_processes" : { - "body_output_process" : [{ + "gid_output_processes" : [{ "python_module" : "mpm_gid_output_process", "kratos_module" : "KratosMultiphysics.MPMApplication", "process_name" : "MPMGiDOutputProcess", @@ -91,8 +91,7 @@ "point_data_configuration" : [] } } - }], - "grid_output_process" : [{ + },{ "python_module" : "gid_output_process", "kratos_module" : "KratosMultiphysics", "process_name" : "GiDOutputProcess", @@ -121,6 +120,37 @@ "point_data_configuration" : [] } } + }], + "vtk_output_processes" : [{ + "python_module" : "vtk_output_process", + "kratos_module" : "KratosMultiphysics", + "process_name" : "VtkOutputProcess", + "Parameters" : { + "model_part_name" : "Background_Grid", + "output_control_type" : "step", + "output_interval" : 5, + "file_format" : "ascii", + "output_precision" : 7, + "output_sub_model_parts" : false, + "output_path" : "vtk_output", + "save_output_files_in_folder" : true, + "nodal_solution_step_data_variables" : ["DISPLACEMENT","REACTION"] + } + },{ + "python_module" : "mpm_vtk_output_process", + "kratos_module" : "KratosMultiphysics.MPMApplication", + "process_name" : "MPMVtkOutputProcess", + "Parameters" : { + "model_part_name" : "MPM_Material", + "output_control_type" : "step", + "output_interval" : 5, + "file_format" : "ascii", + "output_precision" : 7, + "output_sub_model_parts" : false, + "save_output_files_in_folder" : true, + "output_path" : "vtk_output_Body", + "gauss_point_variables_in_elements" : ["MP_VELOCITY","MP_DISPLACEMENT"] + } }] } } diff --git a/mpm/validation/cylinder_on_inclined_plane/source/ProjectParameters_slip.json b/mpm/validation/cylinder_on_inclined_plane/source/ProjectParameters_slip.json index 6c5a7773..6239e64d 100644 --- a/mpm/validation/cylinder_on_inclined_plane/source/ProjectParameters_slip.json +++ b/mpm/validation/cylinder_on_inclined_plane/source/ProjectParameters_slip.json @@ -19,7 +19,7 @@ "input_filename" : "cylinder on inclined plane 2d_Body" }, "material_import_settings" : { - "materials_filename" : "MaterialPointsMaterials.json" + "materials_filename" : "ParticleMaterials.json" }, "time_stepping" : { "time_step" : 0.001 @@ -35,7 +35,7 @@ "input_filename" : "cylinder on inclined plane 2d_Grid" }, "pressure_dofs" : false, - "auxiliary_variables_list" : ["NORMAL","IS_STRUCTURE"] + "auxiliary_variables_list" : ["NODAL_AREA","NORMAL","IS_STRUCTURE"] }, "processes" : { "list_other_processes" : [{ @@ -62,7 +62,7 @@ }] }, "output_processes" : { - "body_output_process" : [{ + "gid_output_processes" : [{ "python_module" : "mpm_gid_output_process", "kratos_module" : "KratosMultiphysics.MPMApplication", "process_name" : "MPMGiDOutputProcess", @@ -91,8 +91,7 @@ "point_data_configuration" : [] } } - }], - "grid_output_process" : [{ + },{ "python_module" : "gid_output_process", "kratos_module" : "KratosMultiphysics", "process_name" : "GiDOutputProcess", @@ -121,6 +120,37 @@ "point_data_configuration" : [] } } + }], + "vtk_output_processes" : [{ + "python_module" : "vtk_output_process", + "kratos_module" : "KratosMultiphysics", + "process_name" : "VtkOutputProcess", + "Parameters" : { + "model_part_name" : "Background_Grid", + "output_control_type" : "step", + "output_interval" : 5, + "file_format" : "ascii", + "output_precision" : 7, + "output_sub_model_parts" : false, + "output_path" : "vtk_output", + "save_output_files_in_folder" : true, + "nodal_solution_step_data_variables" : ["DISPLACEMENT","REACTION"] + } + },{ + "python_module" : "mpm_vtk_output_process", + "kratos_module" : "KratosMultiphysics.MPMApplication", + "process_name" : "MPMVtkOutputProcess", + "Parameters" : { + "model_part_name" : "MPM_Material", + "output_control_type" : "step", + "output_interval" : 5, + "file_format" : "ascii", + "output_precision" : 7, + "output_sub_model_parts" : false, + "save_output_files_in_folder" : true, + "output_path" : "vtk_output_Body", + "gauss_point_variables_in_elements" : ["MP_VELOCITY","MP_DISPLACEMENT"] + } }] } } diff --git a/mpm/validation/granular_flow_2D/source/MainKratos.py b/mpm/validation/granular_flow_2D/source/MainKratos.py index ca7b1b61..76760e23 100644 --- a/mpm/validation/granular_flow_2D/source/MainKratos.py +++ b/mpm/validation/granular_flow_2D/source/MainKratos.py @@ -1,5 +1,3 @@ -from __future__ import print_function, absolute_import, division #makes KratosMultiphysics backward compatible with python 2.6 and 2.7 - import KratosMultiphysics from KratosMultiphysics.MPMApplication.mpm_analysis import MPMAnalysis diff --git a/mpm/validation/granular_flow_2D/source/ProjectParameters.json b/mpm/validation/granular_flow_2D/source/ProjectParameters.json index 4f5dd05b..b2877200 100644 --- a/mpm/validation/granular_flow_2D/source/ProjectParameters.json +++ b/mpm/validation/granular_flow_2D/source/ProjectParameters.json @@ -19,7 +19,7 @@ "input_filename" : "granular_flow_2D_Body" }, "material_import_settings" : { - "materials_filename" : "MaterialPointsMaterials.json" + "materials_filename" : "ParticleMaterials.json" }, "time_stepping" : { "time_step" : 5e-5 @@ -104,11 +104,11 @@ "kratos_module" : "KratosMultiphysics.MPMApplication", "process_name" : "MPMVTKOutputProcess", "Parameters" : { - "model_part_name" : "MPM_Material", - "output_path" : "granular_flow_2D_Body", - "output_control_type" : "time", - "output_interval" : 0.01, - "gauss_point_results" : ["MP_VELOCITY","MP_DISPLACEMENT"] + "model_part_name" : "MPM_Material", + "output_path" : "granular_flow_2D_Body", + "output_control_type" : "time", + "output_interval" : 0.01, + "gauss_point_variables_in_elements" : ["MP_VELOCITY","MP_DISPLACEMENT"] } } ],