-
Notifications
You must be signed in to change notification settings - Fork 249
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
[GeoMechanicsApplication] Convert two stage line loads test to the orchestrator based analysis and test #13057
base: master
Are you sure you want to change the base?
Changes from 3 commits
d8f54d1
a6c6799
106aa53
5275e86
623c31c
e0a053a
0d382cf
fdf4066
89c7c4c
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
{ | ||
"properties": [{ | ||
"model_part_name": "PorousDomain.Dummy_soil", | ||
"properties_id": 1, | ||
"Material": { | ||
"constitutive_law": { | ||
"name" : "GeoLinearElasticPlaneStrain2DLaw" | ||
}, | ||
"Variables": { | ||
"IGNORE_UNDRAINED" : false, | ||
"YOUNG_MODULUS" : 10000, | ||
"POISSON_RATIO" : 0.2, | ||
"DENSITY_SOLID" : 0.0, | ||
"DENSITY_WATER" : 0.0, | ||
"POROSITY" : 0.3, | ||
"BULK_MODULUS_SOLID" : 1.0e9, | ||
"BULK_MODULUS_FLUID" : 2.0e6, | ||
"PERMEABILITY_XX" : 4.5e-13, | ||
"PERMEABILITY_YY" : 4.5e-13, | ||
"PERMEABILITY_XY" : 0.0, | ||
"DYNAMIC_VISCOSITY" : 8.90e-7, | ||
"THICKNESS" : 1.0, | ||
"BIOT_COEFFICIENT" : 1.0, | ||
"RETENTION_LAW" : "SaturatedBelowPhreaticLevelLaw", | ||
"SATURATED_SATURATION" : 1.0, | ||
"RESIDUAL_SATURATION" : 1e-10, | ||
"VAN_GENUCHTEN_AIR_ENTRY_PRESSURE" : 2.561, | ||
"VAN_GENUCHTEN_GN" : 1.377, | ||
"VAN_GENUCHTEN_GL" : 1.25, | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Nitpicking: I believe we don't need these input parameters, since we're not using the Van Genuchten retention law. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. removed |
||
"MINIMUM_RELATIVE_PERMEABILITY" : 0.0001 | ||
}, | ||
"Tables": {} | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. More nitpicking: I believe we can also get rid of this input parameter. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. removed |
||
} | ||
}] | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,357 @@ | ||
{ | ||
"orchestrator" : { | ||
"name" : "Orchestrators.KratosMultiphysics.SequentialOrchestrator", | ||
"settings" : { | ||
"echo_level" : 0, | ||
"execution_list" : ["stage_1", "stage_2"], | ||
"load_from_checkpoint" : null, | ||
"stage_checkpoints" : true, | ||
"stage_checkpoints_folder" : "auxiliar_files_for_python_unittest/orchestrators_files/checkpoints", | ||
"output_validated_settings" : "test_sequential_orchestrator" | ||
} | ||
}, | ||
"stages" : { | ||
"stage_1" : { | ||
"stage_settings" : { | ||
"analysis_stage": "Stages.KratosMultiphysics.GeoMechanicsApplication.geomechanics_analysis.GeoMechanicsAnalysis", | ||
"problem_data": { | ||
"problem_name": "test", | ||
"start_time": 0.0, | ||
"end_time": 1.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": "test" | ||
}, | ||
"material_import_settings": { | ||
"materials_filename": "MaterialParameters.json" | ||
}, | ||
"time_stepping": { | ||
"time_step": 1, | ||
"max_delta_time_factor": 1000 | ||
}, | ||
"buffer_size": 2, | ||
"echo_level": 1, | ||
"clear_storage": false, | ||
"compute_reactions": true, | ||
"move_mesh_flag": false, | ||
"reform_dofs_at_each_step": false, | ||
"nodal_smoothing": false, | ||
"block_builder": true, | ||
"solution_type": "Quasi-Static", | ||
"scheme_type": "Backward_Euler", | ||
"reset_displacements": true, | ||
"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-9, | ||
"residual_relative_tolerance": 1.0E-4, | ||
"residual_absolute_tolerance": 1.0E-9, | ||
"water_pressure_relative_tolerance": 1.0E-4, | ||
"water_pressure_absolute_tolerance": 1.0E-9, | ||
"min_iterations": 6, | ||
"max_iterations": 15, | ||
"number_cycles": 100, | ||
"reduction_factor": 0.5, | ||
"increase_factor": 2.0, | ||
"desired_iterations": 4, | ||
"max_radius_factor": 10.0, | ||
"min_radius_factor": 0.1, | ||
"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": true, | ||
"linear_solver_settings": { | ||
"solver_type": "bicgstab", | ||
"tolerance": 1.0e-6, | ||
"max_iteration": 1000, | ||
"scaling": true, | ||
"preconditioner_type": "ilu0" | ||
}, | ||
"problem_domain_sub_model_part_list": ["Dummy_soil"], | ||
"processes_sub_model_part_list": ["Bottom_fixed","Side_sliders","Phreatic_line","First_line_load"], | ||
"body_domain_sub_model_part_list": ["Dummy_soil"] | ||
}, | ||
"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": "test_stage1", | ||
"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": false, | ||
"skin_output": false, | ||
"plane_output": [], | ||
"nodal_results": ["REACTION"], | ||
"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.Bottom_fixed", | ||
"variable_name": "DISPLACEMENT", | ||
"active": [true,true,true], | ||
"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.Side_sliders", | ||
"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.Phreatic_line", | ||
"variable_name": "WATER_PRESSURE", | ||
"is_fixed": true, | ||
"fluid_pressure_type": "Phreatic_Line", | ||
"gravity_direction": 1, | ||
"out_of_plane_direction": 2, | ||
"first_reference_coordinate" : [0.0,0.0,0.0], | ||
"second_reference_coordinate": [5.0,0.0,0.0], | ||
"table": [0,0], | ||
"pressure_tension_cut_off": 0.0, | ||
"specific_weight": 0.0 | ||
} | ||
}], | ||
"loads_process_list": [{ | ||
"python_module": "apply_vector_constraint_table_process", | ||
"kratos_module": "KratosMultiphysics.GeoMechanicsApplication", | ||
"process_name": "ApplyVectorConstraintTableProcess", | ||
"Parameters": { | ||
"model_part_name": "PorousDomain.First_line_load", | ||
"variable_name": "LINE_LOAD", | ||
"active": [false,true,false], | ||
"value": [0.0,-10.0,0.0], | ||
"table": [0,0,0] | ||
} | ||
}], | ||
"auxiliar_process_list": [] | ||
} | ||
} | ||
}, | ||
"stage_2" : { | ||
"stage_settings" : { | ||
"analysis_stage": "Stages.KratosMultiphysics.GeoMechanicsApplication.geomechanics_analysis.GeoMechanicsAnalysis", | ||
"problem_data": { | ||
"problem_name": "test", | ||
"start_time": 0.0, | ||
"end_time": 1.0, | ||
"echo_level": 1, | ||
"parallel_type": "OpenMP", | ||
"number_of_threads": 1 | ||
}, | ||
"problem_data": { | ||
"problem_name": "test", | ||
"start_time": 0.0, | ||
"end_time": 1.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": "test" | ||
}, | ||
"material_import_settings": { | ||
"materials_filename": "MaterialParameters.json" | ||
}, | ||
"time_stepping": { | ||
"time_step": 1, | ||
"max_delta_time_factor": 1000 | ||
}, | ||
"buffer_size": 2, | ||
"echo_level": 1, | ||
"clear_storage": false, | ||
"compute_reactions": true, | ||
"move_mesh_flag": false, | ||
"reform_dofs_at_each_step": false, | ||
"nodal_smoothing": false, | ||
"block_builder": true, | ||
"solution_type": "Quasi-Static", | ||
"scheme_type": "Backward_Euler", | ||
"reset_displacements": true, | ||
"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-9, | ||
"residual_relative_tolerance": 1.0E-4, | ||
"residual_absolute_tolerance": 1.0E-9, | ||
"water_pressure_relative_tolerance": 1.0E-4, | ||
"water_pressure_absolute_tolerance": 1.0E-9, | ||
"min_iterations": 6, | ||
"max_iterations": 15, | ||
"number_cycles": 100, | ||
"reduction_factor": 0.5, | ||
"increase_factor": 2.0, | ||
"desired_iterations": 4, | ||
"max_radius_factor": 10.0, | ||
"min_radius_factor": 0.1, | ||
"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": true, | ||
"linear_solver_settings": { | ||
"solver_type": "bicgstab", | ||
"tolerance": 1.0e-6, | ||
"max_iteration": 1000, | ||
"scaling": true, | ||
"preconditioner_type": "ilu0" | ||
}, | ||
"problem_domain_sub_model_part_list": ["Dummy_soil"], | ||
"processes_sub_model_part_list": ["Bottom_fixed","Side_sliders","Phreatic_line","Second_line_load"], | ||
"body_domain_sub_model_part_list": ["Dummy_soil"] | ||
}, | ||
"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": "test_stage2", | ||
"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": false, | ||
"skin_output": false, | ||
"plane_output": [], | ||
"nodal_results": ["REACTION"], | ||
"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.Bottom_fixed", | ||
"variable_name": "DISPLACEMENT", | ||
"active": [true,true,true], | ||
"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.Side_sliders", | ||
"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.Phreatic_line", | ||
"variable_name": "WATER_PRESSURE", | ||
"is_fixed": true, | ||
"fluid_pressure_type": "Phreatic_Line", | ||
"gravity_direction": 1, | ||
"out_of_plane_direction": 2, | ||
"first_reference_coordinate" : [0.0,0.0,0.0], | ||
"second_reference_coordinate": [5.0,0.0,0.0], | ||
"table": [0,0], | ||
"pressure_tension_cut_off": 0.0, | ||
"specific_weight": 0.0 | ||
} | ||
}], | ||
"loads_process_list": [{ | ||
"python_module": "apply_vector_constraint_table_process", | ||
"kratos_module": "KratosMultiphysics.GeoMechanicsApplication", | ||
"process_name": "ApplyVectorConstraintTableProcess", | ||
"Parameters": { | ||
"model_part_name": "PorousDomain.Second_line_load", | ||
"variable_name": "LINE_LOAD", | ||
"active": [false,true,false], | ||
"value": [0.0,-20.0,0.0], | ||
"table": [0,0,0] | ||
} | ||
}], | ||
"auxiliar_process_list": [] | ||
} | ||
} | ||
} | ||
} | ||
} |
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 file is a copy of
line_loads_in_stages/MaterialParameters.json
. Also the filetest.mdpa
is a copy of the corresponding file inline_loads_in_stages/test.mdpa
. I'm wondering whether it would be possible to share these files (i.e. to avoid having any copies)? Perhaps we could have acommon
subdirectory inline_loads_in_stages
, where we move these two files to. And then we could have two more subdirectories inline_loads_in_stages
: e.g.legacy
andorchestrator
. Those two subdirectories then contain the requiredProjectParameters.json
files. Such a structure also makes it clearer that for the orchestrator-based multi-stage analysis, we can keep the.mdpa
andMaterialParameters.json
files as-is (compared to the "legacy" approach).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.
Thank you. The structure is done like that