-
Notifications
You must be signed in to change notification settings - Fork 246
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add multi-stage tests for the new line interface elements (#12705)
Added two Python tests that cover the behavior of the new line interface element in a two-stage scenario. The first test uses Dirichlet boundary conditions, whereas the second one uses Neumann boundary conditions. Both tests carry out two time steps per stage.
- Loading branch information
Showing
9 changed files
with
818 additions
and
12 deletions.
There are no files selected for viewing
76 changes: 76 additions & 0 deletions
76
...GeoMechanicsApplication/tests/line_interface_elements/Dirichlet_multi_stage/3+3_line.mdpa
This file contains 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,76 @@ | ||
Begin Table 1 TIME DISPLACEMENT_X | ||
0.0 0.0 | ||
1.0 -4.4466666666666666e-5 | ||
2.0 -8.8933333333333332e-5 | ||
3.0 -1.0e-4 | ||
4.0 -2.0e-4 | ||
End Table | ||
|
||
Begin Table 2 TIME DISPLACEMENT_Y | ||
0.0 0.0 | ||
1.0 -1.11e-5 | ||
2.0 -2.22e-5 | ||
3.0 -3.33e-5 | ||
4.0 -4.44e-5 | ||
End Table | ||
|
||
Begin Properties 1 | ||
End Properties | ||
|
||
Begin Nodes | ||
1 2.0000000000 0.0000000000 0.0000000000 | ||
2 4.5000000000 0.0000000000 0.0000000000 | ||
3 7.0000000000 0.0000000000 0.0000000000 | ||
11 2.0000000000 0.0000000000 0.0000000000 | ||
12 4.5000000000 0.0000000000 0.0000000000 | ||
13 7.0000000000 0.0000000000 0.0000000000 | ||
End Nodes | ||
|
||
Begin Elements Geo_UPwLineInterfacePlainStrainElement3Plus3N | ||
1 1 1 3 2 11 13 12 | ||
End Elements | ||
|
||
Begin SubModelPart Interfaces | ||
Begin SubModelPartNodes | ||
1 | ||
2 | ||
3 | ||
11 | ||
12 | ||
13 | ||
End SubModelPartNodes | ||
Begin SubModelPartElements | ||
1 | ||
End SubModelPartElements | ||
End SubModelPart | ||
|
||
Begin SubModelPart FixedNodes | ||
Begin SubModelPartNodes | ||
1 | ||
2 | ||
3 | ||
End SubModelPartNodes | ||
End SubModelPart | ||
|
||
Begin SubModelPart DisplacedNodes | ||
Begin SubModelPartNodes | ||
11 | ||
12 | ||
13 | ||
End SubModelPartNodes | ||
Begin SubModelPartTables | ||
1 | ||
2 | ||
End SubModelPartTables | ||
End SubModelPart | ||
|
||
Begin SubModelPart AllNodes | ||
Begin SubModelPartNodes | ||
1 | ||
2 | ||
3 | ||
11 | ||
12 | ||
13 | ||
End SubModelPartNodes | ||
End SubModelPart |
140 changes: 140 additions & 0 deletions
140
...ication/tests/line_interface_elements/Dirichlet_multi_stage/ProjectParameters_stage1.json
This file contains 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,140 @@ | ||
{ | ||
"problem_data": { | ||
"problem_name": "Dirichlet_multi_stage", | ||
"start_time": 0.0, | ||
"end_time": 2.0, | ||
"echo_level": 1, | ||
"parallel_type": "OpenMP", | ||
"number_of_threads": 1 | ||
}, | ||
"solver_settings": { | ||
"solver_type": "U_Pw", | ||
"model_part_name": "PorousDomain", | ||
"domain_size": 2, | ||
"model_import_settings": { | ||
"input_type": "mdpa", | ||
"input_filename": "3+3_line" | ||
}, | ||
"material_import_settings": { | ||
"materials_filename": "../common/MaterialParameters.json" | ||
}, | ||
"time_stepping": { | ||
"time_step": 1.0 | ||
}, | ||
"buffer_size": 2, | ||
"echo_level": 1, | ||
"clear_storage": false, | ||
"compute_reactions": false, | ||
"move_mesh_flag": false, | ||
"reform_dofs_at_each_step": false, | ||
"nodal_smoothing": false, | ||
"block_builder": false, | ||
"solution_type": "Quasi-Static", | ||
"scheme_type": "Newmark", | ||
"reset_displacements": false, | ||
"newmark_beta": 0.25, | ||
"newmark_gamma": 0.5, | ||
"newmark_theta": 0.5, | ||
"rayleigh_m": 0.0, | ||
"rayleigh_k": 0.0, | ||
"strategy_type": "newton_raphson", | ||
"convergence_criterion": "residual_criterion", | ||
"displacement_relative_tolerance": 1.0E-4, | ||
"displacement_absolute_tolerance": 1.0E-4, | ||
"residual_relative_tolerance": 1.0E-4, | ||
"residual_absolute_tolerance": 1.0E-9, | ||
"min_iterations": 6, | ||
"max_iterations": 15, | ||
"number_cycles": 1, | ||
"reduction_factor": 1.0, | ||
"increase_factor": 1.0, | ||
"desired_iterations": 4, | ||
"max_radius_factor": 10.0, | ||
"min_radius_factor": 0.1, | ||
"calculate_reactions": false, | ||
"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, | ||
"linear_solver_settings": { | ||
"solver_type": "LinearSolversApplication.sparse_lu" | ||
}, | ||
"problem_domain_sub_model_part_list": ["Interfaces"], | ||
"processes_sub_model_part_list": ["FixedNodes","AllNodes","DisplacedNodes"], | ||
"body_domain_sub_model_part_list": ["Interfaces"] | ||
}, | ||
"output_processes": { | ||
"gid_output": [{ | ||
"python_module": "gid_output_process", | ||
"kratos_module": "KratosMultiphysics", | ||
"process_name": "GiDOutputProcess", | ||
"Parameters": { | ||
"model_part_name": "PorousDomain.porous_computational_model_part", | ||
"output_name": "Dirichlet_multi_stage", | ||
"postprocess_parameters": { | ||
"result_file_configuration": { | ||
"gidpost_flags": { | ||
"WriteDeformedMeshFlag": "WriteUndeformed", | ||
"WriteConditionsFlag": "WriteElementsOnly", | ||
"GiDPostMode": "GiD_PostAscii", | ||
"MultiFileFlag": "SingleFile" | ||
}, | ||
"file_label": "step", | ||
"output_control_type": "step", | ||
"output_interval": 1, | ||
"body_output": true, | ||
"node_output": true, | ||
"skin_output": false, | ||
"plane_output": [], | ||
"nodal_results": ["DISPLACEMENT"], | ||
"gauss_point_results": [] | ||
}, | ||
"point_data_configuration": [] | ||
} | ||
} | ||
}] | ||
}, | ||
"processes": { | ||
"constraints_process_list": [{ | ||
"python_module": "apply_vector_constraint_table_process", | ||
"kratos_module": "KratosMultiphysics.GeoMechanicsApplication", | ||
"process_name": "ApplyVectorConstraintTableProcess", | ||
"Parameters": { | ||
"model_part_name": "PorousDomain.FixedNodes", | ||
"variable_name": "DISPLACEMENT", | ||
"active": [true,true,false], | ||
"is_fixed": [true,true,true], | ||
"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.DisplacedNodes", | ||
"variable_name": "DISPLACEMENT", | ||
"active": [true,true,false], | ||
"is_fixed": [true,true,false], | ||
"value": [0.0,0.0,0.0], | ||
"table": [1,2,0] | ||
} | ||
},{ | ||
"python_module": "apply_scalar_constraint_table_process", | ||
"kratos_module": "KratosMultiphysics.GeoMechanicsApplication", | ||
"process_name": "ApplyScalarConstraintTableProcess", | ||
"Parameters": { | ||
"model_part_name": "PorousDomain.AllNodes", | ||
"variable_name": "WATER_PRESSURE", | ||
"active": true, | ||
"is_fixed": true, | ||
"value": 0.0, | ||
"table": 0 | ||
} | ||
}], | ||
"loads_process_list": [] | ||
} | ||
} |
139 changes: 139 additions & 0 deletions
139
...ication/tests/line_interface_elements/Dirichlet_multi_stage/ProjectParameters_stage2.json
This file contains 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,139 @@ | ||
{ | ||
"problem_data": { | ||
"problem_name": "Dirichlet_multi_stage", | ||
"start_time": 2.0, | ||
"end_time": 4.0, | ||
"echo_level": 1, | ||
"parallel_type": "OpenMP", | ||
"number_of_threads": 1 | ||
}, | ||
"solver_settings": { | ||
"solver_type": "U_Pw", | ||
"model_part_name": "PorousDomain", | ||
"domain_size": 2, | ||
"model_import_settings": { | ||
"input_type": "rest" | ||
}, | ||
"material_import_settings": { | ||
"materials_filename": "../common/MaterialParameters.json" | ||
}, | ||
"time_stepping": { | ||
"time_step": 1.0 | ||
}, | ||
"buffer_size": 2, | ||
"echo_level": 1, | ||
"clear_storage": false, | ||
"compute_reactions": false, | ||
"move_mesh_flag": false, | ||
"reform_dofs_at_each_step": false, | ||
"nodal_smoothing": false, | ||
"block_builder": false, | ||
"solution_type": "Quasi-Static", | ||
"scheme_type": "Newmark", | ||
"reset_displacements": false, | ||
"newmark_beta": 0.25, | ||
"newmark_gamma": 0.5, | ||
"newmark_theta": 0.5, | ||
"rayleigh_m": 0.0, | ||
"rayleigh_k": 0.0, | ||
"strategy_type": "newton_raphson", | ||
"convergence_criterion": "residual_criterion", | ||
"displacement_relative_tolerance": 1.0E-4, | ||
"displacement_absolute_tolerance": 1.0E-4, | ||
"residual_relative_tolerance": 1.0E-4, | ||
"residual_absolute_tolerance": 1.0E-9, | ||
"min_iterations": 6, | ||
"max_iterations": 15, | ||
"number_cycles": 1, | ||
"reduction_factor": 1.0, | ||
"increase_factor": 1.0, | ||
"desired_iterations": 4, | ||
"max_radius_factor": 10.0, | ||
"min_radius_factor": 0.1, | ||
"calculate_reactions": false, | ||
"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, | ||
"linear_solver_settings": { | ||
"solver_type": "LinearSolversApplication.sparse_lu" | ||
}, | ||
"problem_domain_sub_model_part_list": ["Interfaces"], | ||
"processes_sub_model_part_list": ["FixedNodes","AllNodes","DisplacedNodes"], | ||
"body_domain_sub_model_part_list": ["Interfaces"] | ||
}, | ||
"output_processes": { | ||
"gid_output": [{ | ||
"python_module": "gid_output_process", | ||
"kratos_module": "KratosMultiphysics", | ||
"process_name": "GiDOutputProcess", | ||
"Parameters": { | ||
"model_part_name": "PorousDomain.porous_computational_model_part", | ||
"output_name": "Dirichlet_multi_stage", | ||
"postprocess_parameters": { | ||
"result_file_configuration": { | ||
"gidpost_flags": { | ||
"WriteDeformedMeshFlag": "WriteUndeformed", | ||
"WriteConditionsFlag": "WriteElementsOnly", | ||
"GiDPostMode": "GiD_PostAscii", | ||
"MultiFileFlag": "SingleFile" | ||
}, | ||
"file_label": "step", | ||
"output_control_type": "step", | ||
"output_interval": 1, | ||
"body_output": true, | ||
"node_output": true, | ||
"skin_output": false, | ||
"plane_output": [], | ||
"nodal_results": ["DISPLACEMENT"], | ||
"gauss_point_results": [] | ||
}, | ||
"point_data_configuration": [] | ||
} | ||
} | ||
}] | ||
}, | ||
"processes": { | ||
"constraints_process_list": [{ | ||
"python_module": "apply_vector_constraint_table_process", | ||
"kratos_module": "KratosMultiphysics.GeoMechanicsApplication", | ||
"process_name": "ApplyVectorConstraintTableProcess", | ||
"Parameters": { | ||
"model_part_name": "PorousDomain.FixedNodes", | ||
"variable_name": "DISPLACEMENT", | ||
"active": [true,true,false], | ||
"is_fixed": [true,true,true], | ||
"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.DisplacedNodes", | ||
"variable_name": "DISPLACEMENT", | ||
"active": [true,true,false], | ||
"is_fixed": [true,true,false], | ||
"value": [0.0,0.0,0.0], | ||
"table": [1,2,0] | ||
} | ||
},{ | ||
"python_module": "apply_scalar_constraint_table_process", | ||
"kratos_module": "KratosMultiphysics.GeoMechanicsApplication", | ||
"process_name": "ApplyScalarConstraintTableProcess", | ||
"Parameters": { | ||
"model_part_name": "PorousDomain.AllNodes", | ||
"variable_name": "WATER_PRESSURE", | ||
"active": true, | ||
"is_fixed": true, | ||
"value": 0.0, | ||
"table": 0 | ||
} | ||
}], | ||
"loads_process_list": [] | ||
} | ||
} |
Oops, something went wrong.