Skip to content

Commit a61e855

Browse files
committed
creating a single patch iga structural example using the shell_3p_element
1 parent 8c280c1 commit a61e855

File tree

6 files changed

+447
-0
lines changed

6 files changed

+447
-0
lines changed
Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
{
2+
"problem_data": {
3+
"problem_name": "embedded_plate",
4+
"echo_level": 4,
5+
"parallel_type": "OpenMP",
6+
"start_time": 0.0,
7+
"end_time": 1.0
8+
},
9+
"solver_settings" : {
10+
"solver_type" : "static",
11+
"analysis_type" : "linear",
12+
"model_part_name" : "IgaModelPart",
13+
"domain_size" : 3,
14+
"echo_level": 2,
15+
"model_import_settings" : {
16+
"input_type" : "use_input_model_part"
17+
},
18+
"material_import_settings" : {
19+
"materials_filename" : "materials.json"
20+
},
21+
"time_stepping" : {
22+
"time_step" : 1.5
23+
},
24+
"rotation_dofs": false,
25+
"reform_dofs_at_each_step": false,
26+
"line_search": false,
27+
"compute_reactions": true,
28+
"block_builder": true,
29+
"clear_storage": false,
30+
"move_mesh_flag": true,
31+
"convergence_criterion": "residual_criterion",
32+
"displacement_relative_tolerance": 1e-8,
33+
"displacement_absolute_tolerance": 1e-10,
34+
"residual_relative_tolerance": 1e-8,
35+
"residual_absolute_tolerance": 1e-10,
36+
"max_iteration": 100,
37+
"linear_solver_settings": {},
38+
"auxiliary_variables_list": [],
39+
"auxiliary_dofs_list": [],
40+
"auxiliary_reaction_list": []
41+
},
42+
"modelers": [
43+
{
44+
"modeler_name": "CadIoModeler",
45+
"Parameters": {
46+
"echo_level": 0,
47+
"cad_model_part_name": "IgaModelPart",
48+
"geometry_file_name": "geometry.cad.json",
49+
"output_geometry_file_name": "rectangular_plate_vibroacoustics_kratos_0.georhino.json"
50+
}
51+
},
52+
{
53+
"modeler_name": "IgaModeler",
54+
"Parameters": {
55+
"echo_level": 1,
56+
"cad_model_part_name": "IgaModelPart",
57+
"analysis_model_part_name": "IgaModelPart",
58+
"physics_file_name": "physics.iga.json"
59+
}
60+
},
61+
{
62+
"modeler_name": "RefinementModeler",
63+
"Parameters": {
64+
"echo_level": 0,
65+
"physics_file_name": "refinements.iga.json"
66+
}
67+
}
68+
],
69+
"processes": {
70+
"additional_processes": [{
71+
"kratos_module": "IgaApplication",
72+
"python_module": "output_quadrature_domain_process",
73+
"Parameters": {
74+
"output_file_name": "rectangular_plate_vibroacoustics_kratos_shell_1_integrationdomain.json",
75+
"model_part_name": "IgaModelPart.StructuralAnalysis_1",
76+
"output_geometry_elements": true,
77+
"output_geometry_conditions": false
78+
}
79+
}],
80+
"dirichlet_process_list": [
81+
{
82+
"kratos_module": "KratosMultiphysics",
83+
"python_module": "assign_vector_variable_to_conditions_process",
84+
"Parameters": {
85+
"model_part_name": "IgaModelPart.Support_1",
86+
"variable_name": "DISPLACEMENT",
87+
"value": [ 0, 0, 0 ],
88+
"interval": [ 0, "End" ]
89+
}
90+
}
91+
],
92+
"neumann_process_list": [
93+
{
94+
"kratos_module": "KratosMultiphysics",
95+
"python_module": "assign_vector_variable_to_conditions_process",
96+
"Parameters": {
97+
"model_part_name": "IgaModelPart.Load_1",
98+
"variable_name": "DEAD_LOAD",
99+
"value": [ 1.0, 0, 0.0 ],
100+
"interval": [ 0, "End" ]
101+
}
102+
}
103+
],
104+
"constraints_process_list" : [],
105+
"list_other_processes" : []
106+
},
107+
"output_processes": {
108+
"output_process_list": [
109+
{
110+
"kratos_module": "IgaApplication",
111+
"python_module": "iga_output_process",
112+
"Parameters": {
113+
"nodal_results": [ "DISPLACEMENT", "POINT_LOAD", "REACTION"],
114+
"integration_point_results": [],
115+
"output_file_name": "rectangular_plate_vibroacoustics_kratos_shell_1.post.res",
116+
"model_part_name": "IgaModelPart.StructuralAnalysis_1",
117+
"file_label": "step",
118+
"output_control_type": "time",
119+
"output_frequency": 1.0
120+
}
121+
}
122+
]
123+
}
124+
}
Lines changed: 235 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,235 @@
1+
{
2+
"tolerances": { "model_tolerance": 0.001 },
3+
"version_number": 1,
4+
"breps": [
5+
{
6+
"brep_id": 1,
7+
"faces": [
8+
{
9+
"brep_id": 2,
10+
"swapped_surface_normal": false,
11+
"surface": {
12+
"is_trimmed": true,
13+
"is_rational": false,
14+
"degrees": [ 1, 1 ],
15+
"knot_vectors": [
16+
[ 0, 0, 1, 1 ],
17+
[ 0, 0, 0.5, 0.5 ]
18+
],
19+
"control_points": [
20+
[
21+
1,
22+
[ 0, 0, 0, 1 ]
23+
],
24+
[
25+
2,
26+
[ 1, 0, 0, 1 ]
27+
],
28+
[
29+
3,
30+
[ 0, 0.5, 0, 1 ]
31+
],
32+
[
33+
4,
34+
[ 1, 0.5, 0, 1 ]
35+
]
36+
]
37+
},
38+
"boundary_loops": [
39+
{
40+
"loop_type": "outer",
41+
"trimming_curves": [
42+
{
43+
"trim_index": 0,
44+
"curve_direction": true,
45+
"parameter_curve": {
46+
"is_rational": false,
47+
"degree": 1,
48+
"knot_vector": [ 0, 0, 1, 1 ],
49+
"active_range": [ 0, 1 ],
50+
"control_points": [
51+
[
52+
5,
53+
[ 0, 0, 0, 1 ]
54+
],
55+
[
56+
6,
57+
[ 1, 0, 0, 1 ]
58+
]
59+
]
60+
}
61+
},
62+
{
63+
"trim_index": 1,
64+
"curve_direction": true,
65+
"parameter_curve": {
66+
"is_rational": false,
67+
"degree": 1,
68+
"knot_vector": [ 0, 0, 0.5, 0.5 ],
69+
"active_range": [ 0, 0.5 ],
70+
"control_points": [
71+
[
72+
7,
73+
[ 1, 0, 0, 1 ]
74+
],
75+
[
76+
8,
77+
[ 1, 0.5, 0, 1 ]
78+
]
79+
]
80+
}
81+
},
82+
{
83+
"trim_index": 2,
84+
"curve_direction": true,
85+
"parameter_curve": {
86+
"is_rational": false,
87+
"degree": 1,
88+
"knot_vector": [ 0, 0, 1, 1 ],
89+
"active_range": [ 0, 1 ],
90+
"control_points": [
91+
[
92+
9,
93+
[ 1, 0.5, 0, 1 ]
94+
],
95+
[
96+
10,
97+
[ 0, 0.5, 0, 1 ]
98+
]
99+
]
100+
}
101+
},
102+
{
103+
"trim_index": 3,
104+
"curve_direction": true,
105+
"parameter_curve": {
106+
"is_rational": false,
107+
"degree": 1,
108+
"knot_vector": [ 0, 0, 0.5, 0.5 ],
109+
"active_range": [ 0, 0.5 ],
110+
"control_points": [
111+
[
112+
11,
113+
[ 0, 0.5, 0, 1 ]
114+
],
115+
[
116+
12,
117+
[ 0, 0, 0, 1 ]
118+
]
119+
]
120+
}
121+
}
122+
]
123+
}
124+
],
125+
"embedded_loops": [],
126+
"embedded_edges": [],
127+
"embedded_points": []
128+
}
129+
],
130+
"edges": [
131+
{
132+
"brep_id": 3,
133+
"3d_curve": {
134+
"degree": 1,
135+
"knot_vector": [ 0, 0, 1, 1 ],
136+
"active_range": [ 0, 1 ],
137+
"control_points": [
138+
[
139+
13,
140+
[ 0, 0, 0, 1 ]
141+
],
142+
[
143+
14,
144+
[ 1, 0, 0, 1 ]
145+
]
146+
]
147+
},
148+
"topology": [
149+
{
150+
"brep_id": 2,
151+
"trim_index": 0,
152+
"relative_direction": true
153+
}
154+
]
155+
},
156+
{
157+
"brep_id": 4,
158+
"3d_curve": {
159+
"degree": 1,
160+
"knot_vector": [ 0, 0, 0.5, 0.5 ],
161+
"active_range": [ 0, 0.5 ],
162+
"control_points": [
163+
[
164+
15,
165+
[ 1, 0, 0, 1 ]
166+
],
167+
[
168+
16,
169+
[ 1, 0.5, 0, 1 ]
170+
]
171+
]
172+
},
173+
"topology": [
174+
{
175+
"brep_id": 2,
176+
"trim_index": 1,
177+
"relative_direction": true
178+
}
179+
]
180+
},
181+
{
182+
"brep_id": 5,
183+
"3d_curve": {
184+
"degree": 1,
185+
"knot_vector": [ -1, -1, 0, 0 ],
186+
"active_range": [ -1, 0 ],
187+
"control_points": [
188+
[
189+
17,
190+
[ 1, 0.5, 0, 1 ]
191+
],
192+
[
193+
18,
194+
[ 0, 0.5, 0, 1 ]
195+
]
196+
]
197+
},
198+
"topology": [
199+
{
200+
"brep_id": 2,
201+
"trim_index": 2,
202+
"relative_direction": true
203+
}
204+
]
205+
},
206+
{
207+
"brep_id": 6,
208+
"3d_curve": {
209+
"degree": 1,
210+
"knot_vector": [ -0.5, -0.5, 0, 0 ],
211+
"active_range": [ -0.5, 0 ],
212+
"control_points": [
213+
[
214+
19,
215+
[ 0, 0.5, 0, 1 ]
216+
],
217+
[
218+
20,
219+
[ 0, 0, 0, 1 ]
220+
]
221+
]
222+
},
223+
"topology": [
224+
{
225+
"brep_id": 2,
226+
"trim_index": 3,
227+
"relative_direction": true
228+
}
229+
]
230+
}
231+
],
232+
"vertices": []
233+
}
234+
]
235+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import KratosMultiphysics
2+
import KratosMultiphysics.IgaApplication
3+
from KratosMultiphysics.StructuralMechanicsApplication.structural_mechanics_analysis import StructuralMechanicsAnalysis
4+
5+
if __name__ == "__main__":
6+
with open("ProjectParameters.json",'r') as parameter_file:
7+
parameters = KratosMultiphysics.Parameters(parameter_file.read())
8+
9+
model = KratosMultiphysics.Model()
10+
simulation = StructuralMechanicsAnalysis(model, parameters)
11+
simulation.Run()

0 commit comments

Comments
 (0)