ProjectParameter.json file description
Note: The user is responsible for giving all material parameters a consistent set of parameters.
Process description template
{
"python_module": "Python_module_name",
"kratos_module": "Kratos_module_name",
"process_name": "C++_process_name",
"Parameters": {
"List_of_all_process_parameters": "..."
}
}
Main ProjectParameters structure
| Parameters | Description |
|---|---|
"problem_data": { |
Problem data |
"problem_name": "DSettlement_stage0" |
Name of this problem case |
"start_time": -1E-06 |
Start time of this stage in seconds |
"end_time": 0.0 |
End time of this stage in seconds |
"echo_level": 1 |
Level of logging |
"parallel_type": "OpenMP" |
Method of parallel computation |
"number_of_threads": 1 |
Number of threads for parallel computation |
"solver_settings": { |
Steering parameters of the analysis |
"solver_type": "U_Pw" |
Analysis type (OpenMP: u_pw/geomechanics_u_pw_solver/twophase/pw/geomechanics_pw_solver/dynamic/scipy, MPI: dynamic) |
"model_part_name": "PorousDomain" |
Selection of model parts to use for computation |
"domain_size": 2 |
Working space dimension |
"model_import_settings": { "input_type": "mdpa", "input_filename": "mesh_stage0" } |
Model input format and file |
"material_import_settings": { "materials_filename": "MaterialParameters.json" } |
Material parameter file |
"time_stepping": { ... } |
Time-stepping information |
"time_step" |
Initial time step size |
"max_delta_time_factor" |
Maximum scaling factor for next time step |
"minimum_allowable_value" |
Tolerance to avoid very small final time steps |
"buffer_size": 2 |
Number of solution vectors to keep |
"clear_storage": false |
Solver storage behavior |
"compute_reactions": false |
Compute stress/internal/reaction forces |
"move_mesh_flag": false |
Update nodal positions with displacement |
"reform_dofs_at_each_step": false |
Rebuild system at each step |
"block_builder": true |
Builder and solver block mode |
"solution_type": "K0-Procedure" |
Calculation type: quasi_static, dynamic, k0_procedure, transient_groundwater_flow, steady_state_groundwater_flow |
"scheme_type": "Newmark" |
Time integration scheme: newmark, backward_euler |
"reset_displacements": true |
Reset total displacements/rotations at stage start |
"strategy_type": "line_search" |
Iterative strategy: newton_raphson, newton_raphson_with_piping, line_search, arc_length |
"convergence_criterion": "displacement_criterion" |
Convergence criterion type |
"water_pressure_relative_tolerance" |
Relative tolerance |
"water_pressure_absolute_tolerance" |
Absolute tolerance |
"displacement_relative_tolerance" |
Relative tolerance |
"displacement_absolute_tolerance" |
Absolute tolerance |
"residual_relative_tolerance" |
Relative tolerance |
"residual_absolute_tolerance" |
Absolute tolerance |
"min_iterations": 6 |
Increase next step if converged below this iteration count |
"max_iterations": 15 |
Maximum number of iterations |
"number_cycles": 100 |
Maximum number of scaled-down retry cycles |
"reduction_factor": 0.5 |
Time-step reduction factor |
"increase_factor": 2.0 |
Time-step increase factor |
"desired_iterations": 4 |
Arc-length parameter |
"max_radius_factor": 10.0 |
Arc-length parameter |
"min_radius_factor": 0.1 |
Arc-length parameter |
"calculate_reactions": true |
Reaction calculation toggle |
"max_line_search_iterations": 5 |
Line-search parameter |
"first_alpha_value": 0.5 |
Line-search parameter |
"second_alpha_value": 1.0 |
Line-search parameter |
"min_alpha": 0.1 |
Line-search parameter |
"max_alpha": 2.0 |
Line-search parameter |
"line_search_tolerance": 0.5 |
Line-search parameter |
"rotation_dofs": true |
Include rotational degrees of freedom |
"linear_solver_settings": { ... } |
Linear equation solver settings |
"linear_solver_settings.solver_type": "LinearSolversApplication.sparse_lu" |
Supported options include amgcl, bicgstab, cg, sparse_lu, sparse_qr, tfqmr and others |
"linear_solver_settings.scaling": true |
Solver scaling setting |
"problem_domain_sub_model_part_list" |
List of elements (soil, beams, anchors, interfaces) |
"processes_sub_model_part_list" |
List of conditions (BCs, loads, water conditions, etc.) |
"body_domain_sub_model_part_list" |
List of body elements |
"newmark_beta": 0.25 |
Newmark parameter |
"newmark_gamma": 0.5 |
Newmark parameter |
"newmark_theta": 0.5 |
Time integration parameter for water pressure DOF |
"rayleigh_m": 0.0 |
Mass contribution to damping |
"rayleigh_k": 0.0 |
Stiffness contribution to damping |
"output_processes": { |
Post-process settings |
"gid_output": [...] |
Write output files for GiD postprocessor |
"GiDPostMode": "GiD_PostAscii" |
Write results in GiD binary or ASCII |
"nodal_results": [...] |
Nodal output results |
"gauss_point_results": [...] |
Gauss-point output results |
"processes": { |
Begin process lists |
"constraints_process_list": [...] |
Constraint process list |
"loads_process_list": [...] |
Load process list |
"auxiliar_process_list": [...] |
Auxiliary process list |
Displacement boundary conditions process
Placed in constraints_process_list.
Used for displacement boundary conditions such as fixities, sliders, rollers, and hinges.
{
"python_module": "apply_vector_constraint_table_process",
"kratos_module": "KratosMultiphysics.GeoMechanicsApplication",
"process_name": "ApplyVectorConstraintTableProcess",
"Parameters": {
"model_part_name": "PorousDomain.xxx",
"variable_name": "DISPLACEMENT",
"active": [true, true, true],
"is_fixed": [true, true, true],
"value": [0.0, 0.0, 0.0],
"table": [0, 0, 0]
}
}
| Parameter | Description |
|---|---|
model_part_name |
Body part to apply the process to. PorousDomain. is required |
variable_name |
Kratos vector variable |
active |
Activation per vector component (X, Y, Z) |
is_fixed |
Fix/free per vector component (X, Y, Z) |
value |
Prescribed value per component |
table |
Time-table reference per component |
Hydrostatic water pressure boundary conditions process
Placed in constraints_process_list.
Used for pore water pressure boundary conditions with hydrostatic increase in depth direction.
{
"python_module": "apply_scalar_constraint_table_process",
"kratos_module": "KratosMultiphysics.GeoMechanicsApplication",
"process_name": "ApplyScalarConstraintTableProcess",
"Parameters": {
"model_part_name": "PorousDomain.xxx",
"variable_name": "WATER_PRESSURE",
"is_fixed": true,
"fluid_pressure_type": "Hydrostatic",
"gravity_direction": 1,
"reference_coordinate": -25.0,
"table": 0,
"pressure_tension_cut_off": 0.0,
"specific_weight": 9810.0
}
}
| Parameter | Description |
|---|---|
model_part_name |
Body part to apply the process to. PorousDomain. is required |
variable_name |
Kratos scalar variable |
is_fixed |
Dirichlet (true) or initial value (false) |
fluid_pressure_type |
Hydrostatic, Uniform, etc. |
gravity_direction |
0, 1, 2 for X, Y, Z |
reference_coordinate |
Phreatic surface coordinate in gravity direction |
table |
Time-table reference |
pressure_tension_cut_off |
Threshold value to eliminate suction |
specific_weight |
Density of water times gravity |
Gravity load process
Placed in loads_process_list.
Used for gravity/self-weight/body-acceleration loads.
{
"python_module": "apply_vector_constraint_table_process",
"kratos_module": "KratosMultiphysics.GeoMechanicsApplication",
"process_name": "ApplyVectorConstraintTableProcess",
"Parameters": {
"model_part_name": "PorousDomain.xxx",
"variable_name": "VOLUME_ACCELERATION",
"active": [false, true, false],
"value": [0.0, -9.81, 0.0],
"table": [0, 0, 0]
}
}
| Parameter | Description |
|---|---|
model_part_name |
Body part to apply load conditions to |
variable_name |
Kratos vector variable |
active |
Activation per component (X, Y, Z) |
value |
Prescribed value per component |
table |
Time-table reference per component |
K0 procedure process
Placed in auxiliar_process_list.
Used for K0 procedure after stress initialization.
{
"python_module": "apply_k0_procedure_process",
"kratos_module": "KratosMultiphysics.GeoMechanicsApplication",
"process_name": "ApplyK0ProcedureProcess",
"Parameters": {
"model_part_name": "PorousDomain.xxx",
"variable_name": "CAUCHY_STRESS_TENSOR"
}
}
| Parameter | Description |
|---|---|
model_part_name |
Body part to apply the K0 procedure to |
variable_name |
Kratos tensor variable for K0, usually CAUCHY_STRESS_TENSOR |
References
More general information can be found on the Kratos website:
- https://github.com/KratosMultiphysics/Kratos/wiki/Kratos-input-files-and-IO#3-the-project-parameters-file