-
Notifications
You must be signed in to change notification settings - Fork 13
Expand file tree
/
Copy pathparams.py
More file actions
95 lines (95 loc) · 3.33 KB
/
params.py
File metadata and controls
95 lines (95 loc) · 3.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
def create_param_dict(study):
# partly clamped hyperbolic paraboloid (weak form)
if study == 'hyperb_parab':
param_dict = {
'geometry': 'hyperb_parab',
'loading': 'gravity',
'loading_factor': 1.,
'E': 1.,
'thickness': 0.1,
'shell_density': 1.,
'nu': 0.3,
'shear_factor': 5./6.,
'bcs': 'ls',
'N_col': 16384,
'col_sampling': 'sobol',
'epochs': 100,
'opt_switch_epoch': 0,
'FEM_sol_dir': 'FEM_sol/fenics_pred_hyperb_parab.csv',
}
# fully clamped hyperbolic paraboloid (strong form)
elif study == 'hyperb_parab_strong':
param_dict = {
'geometry': 'hyperb_parab',
'loading': 'gravity',
'loading_factor': 1.,
'E': 1.,
'thickness': 0.1,
'shell_density': 1.,
'nu': 0.3,
'shear_factor': 5./6.,
'bcs': 'fc',
'N_col': 2048,
'col_sampling': 'sobol',
# 'epochs': 100,
'epochs': 10,
'opt_switch_epoch': 0,
'FEM_sol_dir': 'FEM_sol/fenics_pred_hyperb_parab_fully_clamped.csv',
}
# Scordelis-Lo roof (weak form)
elif study == 'scordelis_lo':
param_dict = {
'geometry': 'scordelis_lo',
'loading': 'gravity',
'loading_factor': 0.005, # should be equal to thickness to ensure convergence
'E': 1.,
'thickness': 0.005,
'shell_density': 1.,
'nu': 0.0,
'shear_factor': 5./6.,
'bcs': 'scordelis_lo',
'N_col': 2**16,
'col_sampling': 'sobol',
'epochs': 1000,
'opt_switch_epoch': 0,
'FEM_sol_dir': 'FEM_sol/fenics_pred_scordelis_lo.csv',
}
# Scordelis-Lo roof thin-thickness study (weak form)
elif study == 'scordelis_lo_small_t_study':
param_dict = {
'geometry': 'scordelis_lo',
'loading': 'gravity',
'loading_factor': 0.001, # should be equal to thickness to ensure convergence
'E': 1.,
'thickness': 0.001,
'shell_density': 1.,
'nu': 0.0,
'shear_factor': 5./6.,
'bcs': 'scordelis_lo',
'N_col': 2**16,
'col_sampling': 'sobol',
'epochs': 1000,
'opt_switch_epoch': 0,
'FEM_sol_dir': 'FEM_sol/scordelis_thickness_study/fenics_pred_scordelis_lo_0001.csv',
}
# hemisphere under concentrated load (weak form)
elif study == 'hemisphere':
param_dict = {
'geometry': 'hemisphere',
'loading': 'concentrated_load',
'loading_factor': 1.,
'E': 1.,
'thickness': 0.05,
'shell_density': 1.,
'nu': 0.3,
'shear_factor': 5./6.,
'bcs': 'fc_circular',
'N_col': 280,
'col_sampling': 'concentric',
'epochs': 100,
'opt_switch_epoch': 0,
'FEM_sol_dir': 'FEM_sol/fenics_pred_hemisphere.csv',
}
else:
raise ValueError('Invalid benchmark')
return param_dict