1+ {
2+ "problem_data" : {
3+ "parallel_type" : " OpenMP" ,
4+ "echo_level" : 0
5+ },
6+ "model_parts" : [
7+ {
8+ "settings" : {
9+ "model_part_name" : " 3D_Hook" ,
10+ "domain_size" : 3 ,
11+ "input_filename" : " ../hook"
12+ }
13+ }
14+ ],
15+ "analyses" : [
16+ {
17+ "name" : " main" ,
18+ "type" : " kratos_analysis_execution_policy" ,
19+ "settings" : {
20+ "model_part_names" : [
21+ " 3D_Hook"
22+ ],
23+ "analysis_module" : " KratosMultiphysics.StructuralMechanicsApplication" ,
24+ "analysis_type" : " StructuralMechanicsAnalysis" ,
25+ "analysis_settings" : {
26+ "@include_json" : " ../primal_parameters_main.json"
27+ },
28+ "analysis_output_settings" : {
29+ "nodal_solution_step_data_variables" : [
30+ " DISPLACEMENT"
31+ ],
32+ "nodal_data_value_variables" : [],
33+ "element_data_value_variables" : [],
34+ "condition_data_value_variables" : []
35+ }
36+ }
37+ },
38+ {
39+ "name" : " tip" ,
40+ "type" : " kratos_analysis_execution_policy" ,
41+ "settings" : {
42+ "model_part_names" : [
43+ " 3D_Hook"
44+ ],
45+ "analysis_module" : " KratosMultiphysics.StructuralMechanicsApplication" ,
46+ "analysis_type" : " StructuralMechanicsAnalysis" ,
47+ "analysis_settings" : {
48+ "@include_json" : " ../primal_parameters_tip.json"
49+ },
50+ "analysis_output_settings" : {
51+ "nodal_solution_step_data_variables" : [],
52+ "nodal_data_value_variables" : [],
53+ "element_data_value_variables" : [],
54+ "condition_data_value_variables" : []
55+ }
56+ }
57+ }
58+ ],
59+ "responses" : [
60+ {
61+ "name" : " mass" ,
62+ "type" : " mass_response_function" ,
63+ "settings" : {
64+ "evaluated_model_part_names" : [
65+ " 3D_Hook"
66+ ],
67+ "perturbation_size" : 1e-8
68+ }
69+ },
70+ {
71+ "name" : " strain_energy_main" ,
72+ "type" : " linear_strain_energy_response_function" ,
73+ "settings" : {
74+ "evaluated_model_part_names" : [
75+ " 3D_Hook"
76+ ],
77+ "primal_analysis_name" : " main" ,
78+ "perturbation_size" : 1e-6
79+ }
80+ },
81+ {
82+ "name" : " strain_energy_tip" ,
83+ "type" : " linear_strain_energy_response_function" ,
84+ "settings" : {
85+ "evaluated_model_part_names" : [
86+ " 3D_Hook"
87+ ],
88+ "primal_analysis_name" : " tip" ,
89+ "perturbation_size" : 1e-6
90+ }
91+ }
92+ ],
93+ "controls" : [
94+ {
95+ "name" : " shape_control" ,
96+ "type" : " shape.vertex_morphing_shape_control" ,
97+ "settings" : {
98+ "controlled_model_part_names" : [
99+ " 3D_Hook.design_surface_1"
100+ ],
101+ "mesh_motion_solver_type" : " mesh_moving_analysis" ,
102+ "output_all_fields" : true ,
103+ "mesh_motion_solver_settings" : {
104+ "@include_json" : " mesh_motion_parameters.json"
105+ },
106+ "filter_settings" : {
107+ "filter_type" : " explicit_filter" ,
108+ "filter_function_type" : " linear" ,
109+ "max_nodes_in_filter_radius" : 100000 ,
110+ "filter_radius_settings" : {
111+ "filter_radius_type" : " constant" ,
112+ "filter_radius" : 25.0
113+ },
114+ "filtering_boundary_conditions" : {
115+ "damping_type" : " nearest_entity" ,
116+ "damping_function_type" : " cosine" ,
117+ "damped_model_part_settings" : {
118+ "3D_Hook.non_design_top_1" : [
119+ true ,
120+ true ,
121+ true
122+ ],
123+ "3D_Hook.non_design_inner_1" : [
124+ true ,
125+ true ,
126+ true
127+ ],
128+ "3D_Hook.tip_1" : [
129+ true ,
130+ true ,
131+ true
132+ ]
133+ }
134+ }
135+ }
136+ }
137+ }
138+ ],
139+ "algorithm_settings" : {
140+ "type" : " algorithm_gradient_projection" ,
141+ "settings" : {
142+ "echo_level" : 0 ,
143+ "line_search" : {
144+ "type" : " const_step" ,
145+ "init_step" : 3.0 ,
146+ "gradient_scaling" : " inf_norm"
147+ },
148+ "conv_settings" : {
149+ "type" : " max_iter" ,
150+ "max_iter" : 100
151+ },
152+ "linear_solver_settings" : {
153+ "solver_type" : " LinearSolversApplication.dense_col_piv_householder_qr"
154+ },
155+ "correction_size" : 2.0
156+ },
157+ "controls" : [
158+ " shape_control"
159+ ],
160+ "objective" : {
161+ "response_name" : " mass" ,
162+ "type" : " minimization" ,
163+ "scaling" : 1.0
164+ },
165+ "constraints" : [
166+ {
167+ "response_name" : " strain_energy_main" ,
168+ "type" : " <=" ,
169+ "scaling" : 1.0 ,
170+ "scaled_ref_value" : " initial_value" ,
171+ "violation_scaling" : 5.0
172+ },
173+ {
174+ "response_name" : " strain_energy_tip" ,
175+ "type" : " <=" ,
176+ "scaling" : 1.0 ,
177+ "scaled_ref_value" : " initial_value" ,
178+ "violation_scaling" : 5.0
179+ }
180+ ]
181+ },
182+ "processes" : {
183+ "kratos_processes" : {},
184+ "optimization_data_processes" : {
185+ "output_processes" : [
186+ {
187+ "type" : " optimization_problem_ascii_output_process" ,
188+ "module" : " KratosMultiphysics.OptimizationApplication.processes" ,
189+ "settings" : {
190+ "output_file_name" : " summary.csv" ,
191+ "write_kratos_version" : false ,
192+ "write_time_stamp" : false ,
193+ "list_of_output_components" : [
194+ " all"
195+ ],
196+ "format_info" : {
197+ "int_length" : 7 ,
198+ "float_precision" : 6 ,
199+ "bool_values" : [
200+ " no" ,
201+ " yes"
202+ ],
203+ "string_length" : 10
204+ }
205+ }
206+ },
207+ {
208+ "type" : " optimization_problem_vtu_output_process" ,
209+ "module" : " KratosMultiphysics.OptimizationApplication.processes" ,
210+ "settings" : {
211+ "file_name" : " <model_part_full_name>_<step>" ,
212+ "file_format" : " binary" ,
213+ "output_path" : " Optimization_Results" ,
214+ "save_output_files_in_folder" : true ,
215+ "write_deformed_configuration" : false ,
216+ "list_of_output_components" : [
217+ " all"
218+ ],
219+ "output_precision" : 7 ,
220+ "output_interval" : 1 ,
221+ "echo_level" : 0
222+ }
223+ }
224+ ]
225+ }
226+ }
227+ }
0 commit comments