6 return prefix + fmt % arg +
'\n'
10 for i
in range(len(arg)):
17 return prefix +
'True\n' if arg ==
True else 'False\n'
26 a = prefix +
'[' +
print_list(arg,
'%4.6e') +
']\n'
30 a = prefix +
'[' +
print_list(arg,
'%d') +
']\n'
34 return 'Point(%d) = {' % n +
print_list(arg) +
'};\n'
37 return 'Circle(%d) = {' % n +
print_list(arg,
'%d') +
'};\n'
40 return 'Line(%d) = {' % n +
print_list(arg,
'%d') +
'};\n'
43 return 'Line Loop(%d) = {' % n +
print_list(arg,
'%d') +
'};\n'
46 f.write(
'cl__1 = 1;\n')
47 f.write(
'Mesh.MshFileVersion = 2.2;\n')
51 Returns Young's modulus given bulk modulus and Poisson's ratio
65 return 3. * K * (1. - 2. * nu)
69 Returns shear modulus given Young's modulus and Poisson's ratio
83 return E / (2. * (1. + nu))
88 Returns effective bulk modulus
100 Effective bulk modulus
102 return 2. * k1 * k2 / (k1 + k2)
106 Returns maximum value in list
122def write_contact_zone_part(inpf, R_contact_factor, damping_active, friction_active, beta_n_eps, friction_coeff, Kn_factor, beta_n_factor, zone_string, Kn):
123 inpf.write(
" Zone_%s:\n" % (zone_string))
124 inpf.write(
" Contact_Radius_Factor: %4.6e\n" % (R_contact_factor))
126 if damping_active ==
False:
127 inpf.write(
" Damping_On: false\n")
128 if friction_active ==
False:
129 inpf.write(
" Friction_On: false\n")
131 inpf.write(
" Kn: %4.6e\n" % (Kn))
132 inpf.write(
" Epsilon: %4.6e\n" % (beta_n_eps))
133 inpf.write(
" Friction_Coeff: %4.6e\n" % (friction_coeff))
134 inpf.write(
" Kn_Factor: %4.6e\n" % (Kn_factor))
135 inpf.write(
" Beta_n_Factor: %4.6e\n" % (beta_n_factor))
138 inpf.write(
" Zone_%s:\n" % (zone_string))
139 inpf.write(
" Type: PDState\n")
140 inpf.write(
" Horizon: %4.6e\n" % (horizon))
141 inpf.write(
" Density: %4.6e\n" % (rho))
142 inpf.write(
" Compute_From_Classical: true\n")
143 inpf.write(
" K: %4.6e\n" % (K))
144 inpf.write(
" G: %4.6e\n" % (G))
145 inpf.write(
" Gc: %4.6e\n" % (Gc))
146 inpf.write(
" Influence_Function:\n")
147 inpf.write(
" Type: 1\n")
150 for s
in zone_numbers:
151 inpf.write(
" Zone_%d:\n" % (s))
152 inpf.write(
" Copy_Contact_Data: " +
print_int_list(zone_copy_from))
print_int_list(arg, prefix="")
copy_contact_zone(inpf, zone_numbers, zone_copy_from)
print_const(arg, fmt='%4.6e', prefix="")
print_bool(arg, prefix="")
write_contact_zone_part(inpf, R_contact_factor, damping_active, friction_active, beta_n_eps, friction_coeff, Kn_factor, beta_n_factor, zone_string, Kn)
print_dbl_list(arg, prefix="")
print_list(arg, fmt='%4.6e', delim=', ')
print_int(arg, prefix="")
print_lineloop_gmsh(arg, n)
print_dbl(arg, prefix="")
write_material_zone_part(inpf, zone_string, horizon, rho, K, G, Gc)