-
Notifications
You must be signed in to change notification settings - Fork 289
[GeoMechanicsApplication] setup a test for the triaxial experiment #14354
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
18 commits
Select commit
Hold shift + click to select a range
adc5bc2
Add test triaxial
Sabine-van-Dijk 3927995
Add input files to test folder
Sabine-van-Dijk 816d73a
Added running of the test triaxial in the test script
Sabine-van-Dijk 22f4352
Changed the Project Parameters to WriteElementsOnly to be able to rea…
Sabine-van-Dijk 147c645
Add tests to check the displacement, stress and strain values in the …
Sabine-van-Dijk 19ca040
make a drawing for the triaxial test readme
Sabine-van-Dijk f65e652
move the triaxial test folder inside the test_element_lab folder
Sabine-van-Dijk c52db8d
kp format
Sabine-van-Dijk 1451b4b
change output name and remove unused (arc-length) settings
Sabine-van-Dijk ed4616d
change output name in python script
Sabine-van-Dijk fe2d584
undo formatting error and add file to formatting exceptions list
Sabine-van-Dijk aab84cc
adjust test input parameters
Sabine-van-Dijk 5a45299
add adjusted triaxial test to the test_element_lab
Sabine-van-Dijk d14a42e
add README file with (adjusted) schematic
Sabine-van-Dijk 1fd2414
Small changes in README file
Sabine-van-Dijk 9e28ba5
change start time to be a single time step (and remove parameters fro…
Sabine-van-Dijk c3f2cb8
assertAlmostEqual for the different elements
Sabine-van-Dijk 34a028c
forgot 1 formatting change
Sabine-van-Dijk File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
34 changes: 34 additions & 0 deletions
34
...ions/GeoMechanicsApplication/tests/test_element_lab/test_triaxial/MaterialParameters.json
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,34 @@ | ||
| { | ||
| "properties": [ | ||
| { | ||
| "model_part_name": "PorousDomain.Soil", | ||
| "properties_id": 1, | ||
| "Material": { | ||
| "constitutive_law": { | ||
| "name": "GeoMohrCoulombWithTensionCutOff2D" | ||
| }, | ||
| "Variables": { | ||
| "IGNORE_UNDRAINED": true, | ||
| "DENSITY_SOLID": 2.65, | ||
| "DENSITY_WATER": 1.0, | ||
| "POROSITY": 0.3, | ||
| "BULK_MODULUS_SOLID": 1.0e+09, | ||
| "BULK_MODULUS_FLUID": 2.0e-30, | ||
| "PERMEABILITY_XX": 4.5e-30, | ||
| "PERMEABILITY_YY": 4.5e-30, | ||
| "PERMEABILITY_XY": 0.0, | ||
| "DYNAMIC_VISCOSITY": 8.9e-07, | ||
| "BIOT_COEFFICIENT": 1.0, | ||
| "RETENTION_LAW": "SaturatedLaw", | ||
| "SATURATED_SATURATION": 0.0, | ||
| "YOUNG_MODULUS": 2.0e+04, | ||
| "POISSON_RATIO": 0.25, | ||
| "GEO_COHESION": 2.0, | ||
| "GEO_FRICTION_ANGLE": 25.0, | ||
| "GEO_TENSILE_STRENGTH": 0.0, | ||
| "GEO_DILATANCY_ANGLE": 2.0 | ||
| } | ||
| } | ||
| } | ||
| ] | ||
| } |
180 changes: 180 additions & 0 deletions
180
...tions/GeoMechanicsApplication/tests/test_element_lab/test_triaxial/ProjectParameters.json
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,180 @@ | ||
| { | ||
| "problem_data": { | ||
| "problem_name": "triaxial", | ||
| "parallel_type": "OpenMP", | ||
| "echo_level": 1, | ||
| "start_time": -1.0e-02, | ||
| "end_time": 1.0 | ||
| }, | ||
| "solver_settings": { | ||
| "time_stepping": { | ||
| "time_step": 1.0e-02, | ||
| "max_delta_time_factor": 1.0 | ||
| }, | ||
| "solver_type": "U_Pw", | ||
| "solution_type": "Quasi-Static", | ||
| "strategy_type": "line_search", | ||
| "scheme_type": "Backward_Euler", | ||
| "model_part_name": "PorousDomain", | ||
| "domain_size": 2, | ||
| "echo_level": 1, | ||
| "model_import_settings": { | ||
| "input_type": "mdpa", | ||
| "input_filename": "mesh" | ||
| }, | ||
| "material_import_settings": { | ||
| "materials_filename": "MaterialParameters.json" | ||
| }, | ||
| "buffer_size": 2, | ||
| "clear_storage": false, | ||
| "compute_reactions": true, | ||
| "move_mesh_flag": false, | ||
| "reform_dofs_at_each_step": false, | ||
| "block_builder": true, | ||
| "reset_displacements": true, | ||
| "convergence_criterion": "residual_criterion", | ||
| "residual_relative_tolerance": 1.0e-03, | ||
| "residual_absolute_tolerance": 1.0e-09, | ||
| "min_iterations": 6, | ||
| "max_iterations": 50, | ||
| "number_cycles": 1, | ||
| "reduction_factor": 0.5, | ||
| "increase_factor": 2.0, | ||
| "desired_iterations": 4, | ||
| "calculate_reactions": true, | ||
| "max_line_search_iterations": 5, | ||
| "first_alpha_value": 0.5, | ||
| "second_alpha_value": 1.0, | ||
| "min_alpha": 0.1, | ||
| "max_alpha": 2.0, | ||
| "line_search_tolerance": 0.5, | ||
| "rotation_dofs": false, | ||
| "problem_domain_sub_model_part_list": ["Soil"], | ||
| "processes_sub_model_part_list": [ | ||
| "Fixed_base", | ||
| "Fixed_side", | ||
| "Lateral_load", | ||
| "Top_displacement", | ||
| "Soil" | ||
| ], | ||
| "body_domain_sub_model_part_list": ["Soil"], | ||
| "linear_solver_settings": { | ||
| "solver_type": "LinearSolversApplication.sparse_lu", | ||
| "scaling": true | ||
| } | ||
| }, | ||
| "processes": { | ||
| "constraints_process_list": [ | ||
| { | ||
| "python_module": "apply_vector_constraint_table_process", | ||
| "kratos_module": "KratosMultiphysics.GeoMechanicsApplication", | ||
| "process_name": "ApplyVectorConstraintTableProcess", | ||
| "Parameters": { | ||
| "model_part_name": "PorousDomain.Fixed_base", | ||
| "variable_name": "DISPLACEMENT", | ||
| "active": [false, true, false], | ||
| "is_fixed": [false, true, false], | ||
| "value": [0.0, 0.0, 0.0], | ||
| "table": [0, 0, 0] | ||
| } | ||
| }, | ||
| { | ||
| "python_module": "apply_vector_constraint_table_process", | ||
| "kratos_module": "KratosMultiphysics.GeoMechanicsApplication", | ||
| "process_name": "ApplyVectorConstraintTableProcess", | ||
| "Parameters": { | ||
| "model_part_name": "PorousDomain.Fixed_side", | ||
| "variable_name": "DISPLACEMENT", | ||
| "active": [true, false, false], | ||
| "is_fixed": [true, false, false], | ||
| "value": [0.0, 0.0, 0.0], | ||
| "table": [0, 0, 0] | ||
| } | ||
| }, | ||
| { | ||
| "python_module": "apply_scalar_constraint_table_process", | ||
| "kratos_module": "KratosMultiphysics.GeoMechanicsApplication", | ||
| "process_name": "ApplyScalarConstraintTableProcess", | ||
| "Parameters": { | ||
| "model_part_name": "PorousDomain.Soil", | ||
| "variable_name": "WATER_PRESSURE", | ||
| "is_fixed": true, | ||
| "fluid_pressure_type": "Uniform", | ||
| "value": 0.0, | ||
| "table": 0 | ||
| } | ||
| } | ||
| ], | ||
| "loads_process_list": [ | ||
| { | ||
| "python_module": "apply_normal_load_table_process", | ||
| "kratos_module": "KratosMultiphysics.GeoMechanicsApplication", | ||
| "process_name": "apply_normal_load_table_process", | ||
| "Parameters": { | ||
| "model_part_name": "PorousDomain.Lateral_load", | ||
| "variable_name": "NORMAL_CONTACT_STRESS", | ||
| "active": [true, false], | ||
| "value": [0.0, 0.0], | ||
| "fluid_pressure_type": "Uniform", | ||
| "table": [1, 0] | ||
| } | ||
| }, | ||
| { | ||
| "python_module": "apply_vector_constraint_table_process", | ||
| "kratos_module": "KratosMultiphysics.GeoMechanicsApplication", | ||
| "process_name": "ApplyVectorConstraintTableProcess", | ||
| "Parameters": { | ||
| "model_part_name": "PorousDomain.Top_displacement", | ||
| "variable_name": "DISPLACEMENT", | ||
| "active": [false, true, false], | ||
| "is_fixed": [false, true, false], | ||
| "value": [0.0, 0.0, 0.0], | ||
| "table": [0, 2, 0] | ||
| } | ||
| }, | ||
| { | ||
| "python_module": "apply_initial_uniform_stress_field", | ||
| "kratos_module": "KratosMultiphysics.GeoMechanicsApplication", | ||
| "process_name": "ApplyInitialUniformStressField", | ||
| "Parameters": { | ||
| "model_part_name": "PorousDomain.Soil", | ||
| "value": [-100.0, -100.0, -100.0, 0.0] | ||
| } | ||
| } | ||
| ] | ||
| }, | ||
| "output_processes": { | ||
| "gid_output": [ | ||
| { | ||
| "python_module": "gid_output_process", | ||
| "kratos_module": "KratosMultiphysics", | ||
| "process_name": "GiDOutputProcess", | ||
| "Parameters": { | ||
| "model_part_name": "PorousDomain.porous_computational_model_part", | ||
| "postprocess_parameters": { | ||
| "result_file_configuration": { | ||
| "gidpost_flags": { | ||
| "GiDPostMode": "GiD_PostAscii", | ||
| "WriteDeformedMeshFlag": "WriteDeformed", | ||
| "WriteConditionsFlag": "WriteElementsOnly", | ||
| "MultiFileFlag": "SingleFile" | ||
| }, | ||
| "file_label": "step", | ||
| "output_control_type": "step", | ||
| "output_interval": 1, | ||
| "body_output": true, | ||
| "node_output": false, | ||
| "skin_output": false, | ||
| "nodal_results": ["DISPLACEMENT"], | ||
| "gauss_point_results": [ | ||
| "CAUCHY_STRESS_TENSOR", | ||
| "ENGINEERING_STRAIN_TENSOR" | ||
| ] | ||
| } | ||
| }, | ||
| "output_name": "triaxial_test_output" | ||
| } | ||
| } | ||
| ] | ||
| } | ||
| } |
30 changes: 30 additions & 0 deletions
30
...ications/GeoMechanicsApplication/tests/test_element_lab/test_triaxial/README.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,30 @@ | ||
| # Triaxial test (simple, single stage) | ||
|
|
||
| This test is a triaxial test with a prescribed displacement on a Mohr-Coulomb model. It mimics a lab test, where soil properties such as the cohesion ($c$) and the friction angle ($ϕ$) are determined. | ||
| In the lab this is performed on a cylindric volume of soil, where an increasing pressure is applied on the top of the cylinder. In the model test, the cylinder is emulated by two 2 axisymmetric elements that are symmetric around the left side. | ||
|
|
||
| A schematic overview of the model is displayed in the figure below: | ||
|
|
||
|  | ||
|
|
||
| ## Setup | ||
|
|
||
| The test is performed with the following conditions: | ||
|
|
||
| - Constraints: | ||
| - The displacement in the bottom nodes (5, 8, 9) is fixed in the Y direction. | ||
| - The displacement in the symmetry axis (i.e. the left nodes 1, 3, 5) is fixed in the X direction. | ||
| - The displacement of the top nodes (1, 2, 6) is prescribed and moves linearly from y = 0 at t = 0 to y = -0.2 at t = 1. | ||
| - Material: | ||
| - The material is described by the Mohr-Coulomb model with the following parameters: | ||
| - Poisson ratio = 0.25, | ||
| - Young's modulus = 20000 $kN/m^2$, | ||
| - Cohesion = 2.0 $kN/m^2$, | ||
| - Friction angle = 25.0 $\degree$, | ||
| - Dilatancy angle = 2.0 $\degree$. | ||
| - Conditions: | ||
| - An initial uniform stress field (at t = 0) is applied with a value of -100 $kN/m^2$ in all directions. | ||
| - A lateral load is applied with a value of 100 $kN/m^2$ to the right side, mimicing the constant cell pressure. | ||
|
|
||
| ## Assertions | ||
| For this regression test, the outcomes of the simulation for the displacement, the normal stresses and the engineering strain at t = 1 are asserted. |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a change ( and the other dsettlement project parameters file too ) unrelated to the purpose of the pull request. Still, it is an improvement.