本文整理汇总了Python中oricrete.folding.CreasePattern.cnstr_rhs[0]方法的典型用法代码示例。如果您正苦于以下问题:Python CreasePattern.cnstr_rhs[0]方法的具体用法?Python CreasePattern.cnstr_rhs[0]怎么用?Python CreasePattern.cnstr_rhs[0]使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类oricrete.folding.CreasePattern
的用法示例。
在下文中一共展示了CreasePattern.cnstr_rhs[0]方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: rhombus_3x3_crane
# 需要导入模块: from oricrete.folding import CreasePattern [as 别名]
# 或者: from oricrete.folding.CreasePattern import cnstr_rhs[0] [as 别名]
#.........这里部分代码省略.........
[(60, 2, 1.0)],
[(59, 1, 1.0)],
[(60, 1, 1.0)],
[(58, 1, 1.0)],
[(67, 0, 1.0)],
[(67, 2, 1.0), (74, 2, -1.0)],
[(67, 2, 1.0), (75, 2, -1.0)],
[(67, 0, 1.0), (74, 0, -1.0)],
[(67, 0, 1.0), (75, 0, -1.0)],
[(68, 2, 1.0), (70, 2, -1.0)],
[(68, 2, 1.0), (71, 2, -1.0)],
[(68, 0, 1.0), (70, 0, -1.0)],
[(68, 0, 1.0), (71, 0, -1.0)],
[(69, 2, 1.0), (72, 2, -1.0)],
[(69, 2, 1.0), (73, 2, -1.0)],
[(69, 0, 1.0), (72, 0, -1.0)],
[(69, 0, 1.0), (73, 0, -1.0)],
[(68, 2, 1.0)],
[(69, 2, 1.0)],
[(67, 1, 1.0), (27, 1, -1.0)],
[(68, 1, 1.0), (67, 1, -1.0)],
[(69, 1, 1.0), (67, 1, -1.0)],
#[(35, 1, 1.0), (12, 1, -1.0)],
#[(46, 1, 1.0), (13, 1, -1.0)],
#[(35, 1, 1.0), (46, 1, 1.0)],
#[(36, 1, 1.0), (47, 1, 1.0)],
[(25, 0, 1.0)],
[(17, 1, 1.0)],
#[(10, 1, 1.0)],
#[(37, 2, 1.0), (48, 2, -1.0)],
#[(26, 1, 1.0), (30, 1, -1.0)],
#[(0, 1, 1.0), (3, 1, -1.0)],
#[(37, 2, 1.0), (38, 2, -1.0)],
#[(29, 1, 1.0), (33, 1, -1.0)],
#[(31, 1, 1.0), (37, 1, -1.0)],
#[(7, 2, 1.0), (11, 2, -1.0)],
#[(22, 0, 1.0), (24, 0, -1.0)],
#[(38, 0, 1.0), (49, 0, -1.0)],
#[(48, 2, 1.0), (49, 2, -1.0)],
#[(3, 2, 1.0), (6, 2, -1.0)],
#[(24, 1, 1.0), (28, 1, -1.0)],
#[(27, 1, 1.0), (31, 1, -1.0)],
[(4, 2, 1.0), (8, 2, -1.0)],
#[(3, 1, 1.0), (6, 1, -1.0)],
#[(5, 2, 1.0), (8, 2, -1.0)],
#[(30, 0, 1.0), (31, 0, -1.0)]
#[(30, 0, 1.0), (31, 0, -1.0)],
#[(31, 0, 1.0), (32, 0, -1.0)]
# [(12, 2, 1.0)],
# [(13, 0, 1.0)],
# [(14, 2, 1.0)],
# [(15, 2, 1.0)]
]
cp.cnstr_lhs = cnstr_lhs_3
cp.cnstr_rhs = np.zeros((cp.n_dofs,))
cp.cnstr_rhs[0] = dx
X_ext = np.zeros((cp.n_dofs - len(X_rcp.reshape((-1,))),), dtype = float)
X0 = np.hstack([X_rcp.reshape((-1,)), X_ext])
X0[113] = 0.1441
X0[116] = 0.1441
X0[119] = 0.1441
X0[122] = 0.1441
X0[125] = 0.1441
X0[128] = 0.1441
X0[149] = 0.1441
X0[176] = 0.1441
X0[203] = 0.1441
#X0[131] = 0.45
#X0[152] = 0.1441
#X0[155] = 0.1441
# X0[132] = 0.1441
#X0[135] = -0.1441
cp.create_rcp_tex(name = 'rcp_x3_y3.tex')
X0 *= 0.1
#np.set_printoptions(threshold='nan')
print 'G_du', cp.get_G_du(X0)
print 'R', cp.get_G(X0)
print 'n_dofs', cp.n_dofs
print 'n_c', cp.n_c
print 'n_g', cp.n_g
print 'necessary constraints', cp.n_dofs - cp.n_c - cp.n_g * 3 - cp.n_l * 2
print 'cnstr', len(cp.cnstr_lhs)
#cp.show_iter = True
X = cp.solve(X0)
return cp
示例2: rhombus_3x1_crane
# 需要导入模块: from oricrete.folding import CreasePattern [as 别名]
# 或者: from oricrete.folding.CreasePattern import cnstr_rhs[0] [as 别名]
#.........这里部分代码省略.........
cp.grab_pts = [[13, 0],
[14, 7],
[15, 1],
[16, 8],
[17, 2],
[18, 9]
]
cp.cnstr_lhs = [[(19, 2, 1.0)],
[(19, 1, 1.0)],
[(19, 0, 1.0)],
[(20, 1, 1.0)],
[(20, 2, 1.0)],
[(21, 1, 1.0)],
[(21, 2, 1.0)],
[(20, 0, 1.0), (22, 0, -1.0)],
[(20, 0, 1.0), (23, 0, -1.0)],
[(20, 2, 1.0), (22, 2, -1.0)],
[(20, 2, 1.0), (23, 2, -1.0)],
[(19, 0, 1.0), (26, 0, -1.0)],
[(19, 0, 1.0), (27, 0, -1.0)],
[(19, 2, 1.0), (26, 2, -1.0)],
[(19, 2, 1.0), (27, 2, -1.0)],
[(21, 0, 1.0), (24, 0, -1.0)],
[(21, 0, 1.0), (25, 0, -1.0)],
[(21, 2, 1.0), (24, 2, -1.0)],
[(21, 2, 1.0), (25, 2, -1.0)],
[(14, 1, 1.0), (16, 1, -1.0)],
#[(8, 2, 1.0)],
[(11, 1, 1.0)],
#[(9, 2, 1.0)],
[(11, 0, 1.0)],
[(13, 0, 1.0), (14, 0, -1.0)],
[(16, 1, 1.0), (18, 1, -1.0)],
[(2, 2, 1.0), (4, 2, -1.0)],
#[(13, 2, 1.0), (17, 2, -1.0)],
[(13, 1, 1.0), (15, 1, -1.0)]
]
cp.cnstr_rhs = np.zeros((cp.n_dofs,))
cp.cnstr_rhs[0] = dx
X0 = np.zeros((cp.n_dofs,), dtype = float)
X0[2] = 0.00005
X0[5] = 0.00005
X0[20] = 0.00005
X0[23] = 0.00005
X0[35] = 0.0003
X0[8] = 0.00025
X0[11] = 0.00025
X0[14] = 0.00025
X0[17] = 0.00025
X0[32] = 0.00017
X0[38] = 0.00017
X0[41] = 0.00016334
X0[44] = 0.00016334
X0[47] = 0.00028335
X0[50] = 0.00028335
X0[53] = 0.00016334
X0[56] = 0.00016334
X0[59] = 0.00025
X0[66] = 0.0001
X0[68] = 0.00016334
X0[69] = -0.0001
X0[71] = 0.00016334
X0[72] = 0.0001
X0[74] = 0.00016334
X0[75] = 0.0001
X0[77] = 0.00016334
X0[78] = -0.0001
X0[80] = 0.00016334
X0[81] = -0.0001
X0[83] = 0.00016334
# X0[86] = 0.00025
# X0[89] = 0.00025
X0 *= 1
np.set_printoptions(threshold = 'nan')
print 'G_du', cp.get_G_du(X0)
print 'R', cp.get_G(X0)
print 'L_vct', cp.grab_pts_L
print 'n_dofs', cp.n_dofs
print 'n_c', cp.n_c
print 'n_g', cp.n_g
print 'necessary constraints', cp.n_dofs - cp.n_c - cp.n_g * cp.n_d - cp.n_l * 2
print 'cnstr', len(cp.cnstr_lhs)
#cp.show_iter = True
X = cp.solve(X0)
#print'Iterationnodes', cp.iteration_nodes
#cp.get_line_position(0)
return cp
示例3: rhombus_3x2_crane
# 需要导入模块: from oricrete.folding import CreasePattern [as 别名]
# 或者: from oricrete.folding.CreasePattern import cnstr_rhs[0] [as 别名]
#.........这里部分代码省略.........
[(43, 2, 1.0), (51, 2, -1.0)],
[(43, 0, 1.0), (50, 0, -1.0)],
[(43, 0, 1.0), (51, 0, -1.0)],
[(44, 2, 1.0), (46, 2, -1.0)],
[(44, 2, 1.0), (47, 2, -1.0)],
[(44, 0, 1.0), (46, 0, -1.0)],
[(44, 0, 1.0), (47, 0, -1.0)],
[(45, 2, 1.0), (48, 2, -1.0)],
[(45, 2, 1.0), (49, 2, -1.0)],
[(45, 0, 1.0), (48, 0, -1.0)],
[(45, 0, 1.0), (49, 0, -1.0)],
[(44, 2, 1.0)],
[(45, 2, 1.0)],
[(44, 1, 1.0), (43, 1, -1.0)],
[(43, 1, 1.0), (19, 1, -1.0)],
#[(35, 1, 1.0), (12, 1, -1.0)],
#[(46, 1, 1.0), (13, 1, -1.0)],
#[(35, 1, 1.0), (46, 1, 1.0)],
#[(36, 1, 1.0), (47, 1, 1.0)],
[(4, 0, 1.0)],
[(1, 1, 1.0)],
#[(10, 1, 1.0)],
#[(37, 2, 1.0), (48, 2, -1.0)],
#[(26, 1, 1.0), (30, 1, -1.0)],
#[(0, 1, 1.0), (3, 1, -1.0)],
#[(37, 2, 1.0), (38, 2, -1.0)],
#[(29, 1, 1.0), (33, 1, -1.0)],
[(22, 1, 1.0), (26, 1, -1.0)],
[(22, 0, 1.0), (23, 0, -1.0)],
#[(38, 0, 1.0), (49, 0, -1.0)],
#[(48, 2, 1.0), (49, 2, -1.0)],
#[(3, 2, 1.0), (6, 2, -1.0)],
#[(24, 1, 1.0), (28, 1, -1.0)],
#[(27, 1, 1.0), (31, 1, -1.0)],
[(3, 2, 1.0), (6, 2, -1.0)],
#[(3, 1, 1.0), (6, 1, -1.0)],
#[(5, 2, 1.0), (8, 2, -1.0)],
#[(30, 0, 1.0), (31, 0, -1.0)]
#[(30, 0, 1.0), (31, 0, -1.0)],
[(22, 0, 1.0), (23, 0, -1.0)]
# [(12, 2, 1.0)],
# [(13, 0, 1.0)],
# [(14, 2, 1.0)],
# [(15, 2, 1.0)]
]
cp.cnstr_lhs = cnstr_lhs_1
cp.cnstr_rhs = np.zeros((cp.n_dofs,))
cp.cnstr_rhs[0] = dx
X_ext = np.zeros((cp.n_dofs - len(X_rcp.reshape((-1,))),), dtype = float)
X0 = np.hstack([X_rcp.reshape((-1,)), X_ext])
X0[68] = 0.0
X0[71] = 0.0
X0[74] = 0.0
X0[77] = 0.0
X0[80] = 0.1441
X0[83] = 0.1441
X0[86] = 0.1441
X0[89] = 0.1441
X0[92] = 0.0
X0[95] = 0.0
X0[98] = 0.0
X0[101] = 0.0
X0[104] = 0.1441
X0[125] = 0.1441
X0[128] = 0.1441
#X0[131] = 0.45
X0[152] = 0.1441
X0[155] = 0.1441
X0[132] = 0.1441
X0[135] = -0.1441
X0 *= 0.1
#np.set_printoptions(threshold='nan')
print 'G_du', cp.get_G_du(X0)
print 'R', cp.get_G(X0)
# sf = SingularityFinder()
# sf.singul_test(cp.get_G_du(X0))
print 'L_vct', cp.grab_pts_L
print 'n_dofs', cp.n_dofs
print 'n_c', cp.n_c
print 'n_g', cp.n_g
print 'necessary constraints', cp.n_dofs - cp.n_c - cp.n_g * 3 - cp.n_l * 2
print 'cnstr', len(cp.cnstr_lhs)
#cp.show_iter = True
X = cp.solve(X0)
return cp
示例4: rhombus_3x1_crane_sticks
# 需要导入模块: from oricrete.folding import CreasePattern [as 别名]
# 或者: from oricrete.folding.CreasePattern import cnstr_rhs[0] [as 别名]
#.........这里部分代码省略.........
cp.grab_pts = [[13, 0],
[14, 7],
[15, 1],
[16, 8],
[17, 2],
[18, 9]
]
cp.cnstr_lhs = [[(19, 2, 1.0)],
[(19, 1, 1.0)],
[(19, 0, 1.0)],
[(20, 1, 1.0)],
[(20, 2, 1.0)],
[(21, 1, 1.0)],
[(21, 2, 1.0)],
[(22, 0, 1.0), (24, 0, -1.0)],
[(22, 0, 1.0), (25, 0, -1.0)],
[(22, 2, 1.0), (24, 2, -1.0)],
[(22, 2, 1.0), (25, 2, -1.0)],
[(19, 0, 1.0), (28, 0, -1.0)],
[(19, 0, 1.0), (29, 0, -1.0)],
[(19, 2, 1.0), (28, 2, -1.0)],
[(19, 2, 1.0), (29, 2, -1.0)],
[(23, 0, 1.0), (26, 0, -1.0)],
[(23, 0, 1.0), (27, 0, -1.0)],
[(23, 2, 1.0), (26, 2, -1.0)],
[(23, 2, 1.0), (27, 2, -1.0)],
[(14, 1, 1.0), (16, 1, -1.0)],
#[(8, 2, 1.0)],
[(11, 1, 1.0)],
#[(9, 2, 1.0)],
[(11, 0, 1.0)],
[(13, 0, 1.0), (14, 0, -1.0)],
[(16, 1, 1.0), (18, 1, -1.0)],
[(2, 2, 1.0), (4, 2, -1.0)],
#[(13, 2, 1.0), (17, 2, -1.0)],
[(13, 1, 1.0), (15, 1, -1.0)]
]
cp.cnstr_rhs = np.zeros((cp.n_dofs,))
cp.cnstr_rhs[0] = dx
X0 = np.zeros((cp.n_dofs,), dtype = float)
X0[2] = 0.00005
X0[5] = 0.00005
X0[20] = 0.00005
X0[23] = 0.00005
X0[35] = 0.0003
X0[8] = 0.00025
X0[11] = 0.00025
X0[14] = 0.00025
X0[17] = 0.00025
X0[32] = 0.00017
X0[38] = 0.00017
X0[41] = 0.00016334
X0[44] = 0.00016334
X0[47] = 0.00028335
X0[50] = 0.00028335
X0[53] = 0.00016334
X0[56] = 0.00016334
X0[59] = 0.00025
X0[66] = 0.0001
X0[68] = 0.00016334
X0[69] = -0.0001
X0[71] = 0.00016334
X0[72] = 0.0001
X0[74] = 0.00016334
X0[75] = 0.0001
X0[77] = 0.00016334
X0[78] = -0.0001
X0[80] = 0.00016334
X0[81] = -0.0001
X0[83] = 0.00016334
X0[86] = 0.00025
X0[89] = 0.00025
X0 *= 1
np.set_printoptions(threshold = 'nan')
print 'dR', cp.get_G_du(X0)
print 'R', cp.get_G(X0)
print 'L_vct', cp.grab_pts_L
print 'n_dofs', cp.n_dofs
print 'n_c', cp.n_c
print 'n_g', cp.n_g
print 'necessary constraints', cp.n_dofs - cp.n_c - cp.n_g * cp.n_d - cp.n_l * 2
print 'cnstr', len(cp.cnstr_lhs)
#cp.show_iter = True
X = cp.solve(X0)
#print'Iterationnodes', cp.iteration_nodes
cp.get_line_position(0)
return cp
示例5: line_test_crane
# 需要导入模块: from oricrete.folding import CreasePattern [as 别名]
# 或者: from oricrete.folding.CreasePattern import cnstr_rhs[0] [as 别名]
def line_test_crane(n_steps = 10, dx = 1.0):
"""
"""
cp = CreasePattern(n_steps = n_steps)
cp.nodes = [[0.75, 0.333, 0],
[0.75, 0.667, 0],
[2.25, 0.333, 0],
[2.25, 0.667, 0],
[1.5, 0.5, 1.5],
[0, 0.5, 1],
[3, 0.5, 1],
[0.8, 0.5, 1.266],
[2.2, 0.5, 1.266]
# [0.8, 0.333, 1.0533],
# [0.8, 0.667, 1.0533],
# [2.2, 0.333, 1.0533],
# [2.2, 0.667, 1.0533],
]
cp.crease_lines = [[ 4, 5 ],
[ 4, 6 ],
[ 7, 0],
[ 7, 1],
[ 8, 2],
[ 8, 3]]
# [ 7, 9 ],
# [ 7, 10 ],
# [ 8, 11 ],
# [ 8, 12 ],
# [ 0, 9 ],
# [ 1, 10],
# [ 2, 11],
# [ 3, 12]]
cp.facets = [[0, 1, 2]]
cp.grab_pts = []
cp.line_pts = [[7, 0],
[8, 1]]
cp.cnstr_lhs = [[(4, 2, 1.0)],
#[(0, 1, 1.0)],
[(4, 0, 1.0)],
#[(4, 1, 1.0)],
[(5, 1, 1.0)],
[(5, 2, 1.0)],
[(6, 1, 1.0)],
[(6, 2, 1.0)],
# [(7, 2, 1.0), (9, 2, -1.0)],
# [(7, 0, 1.0), (9, 0, -1.0)],
# [(7, 2, 1.0), (10, 2, -1.0)],
# [(7, 0, 1.0), (10, 0, -1.0)],
# [(8, 2, 1.0), (11, 2, -1.0)],
# [(8, 0, 1.0), (11, 0, -1.0)],
# [(8, 2, 1.0), (12, 2, -1.0)],
# [(8, 0, 1.0), (12, 0, -1.0)],
[(0, 2, 1.0), (1, 2, -1.0)],
[(0, 1, 1.0), (1, 1, -1.0)],
[(0, 0, 1.0), (1, 0, -1.0)],
[(2, 2, 1.0), (3, 2, -1.0)],
[(2, 0, 1.0), (3, 0, -1.0)],
[(2, 1, 1.0), (3, 1, -1.0)],
[(0, 0, 1.0)],
[(2, 1, 1.0)],
[(0, 1, 1.0)],
[(2, 0, 1.0)],
[(0, 2, 1.0)],
[(2, 2, 1.0)],
# [(0, 1, 1.0)],
]
cp.cnstr_rhs = np.zeros((cp.n_dofs,))
cp.cnstr_rhs[0] = dx
X = np.zeros((cp.n_dofs,), dtype = float)
X[14] = 0.0001
X[2] = 0.0001
# X[10] = 0.01
# X[11] = 0.01
print 'necessary constraints', cp.n_dofs - cp.n_c - cp.n_g * cp.n_d - cp.n_l * 2
print 'cnstr', len(cp.cnstr_lhs)
cp.show_iter = True
X = cp.solve(X)
return cp
示例6: rhombus_3x3_crane
# 需要导入模块: from oricrete.folding import CreasePattern [as 别名]
# 或者: from oricrete.folding.CreasePattern import cnstr_rhs[0] [as 别名]
#.........这里部分代码省略.........
[1.5, 0.333, 0],
[1.5, 0.667, 0],
[1.5, 1.333, 0],
[1.5, 1.667, 0],
[1.5, 2.333, 0],
[1.5, 2.667, 0],
[2.5, 0.333, 0],
[2.5, 0.667, 0],
[2.5, 1.333, 0], #45
[2.5, 1.667, 0],
[2.5, 2.333, 0],
[2.5, 2.667, 0]]#48
cp.nodes = np.vstack([cp.nodes, grab_nodes])
cp.grab_pts = [[31, 0],
[32, 21],
[33, 1],
[34, 22],
[35, 2],
[36, 23],
[37, 3],
[38, 24],
[39, 4],
[40, 25],
[41, 5],
[42, 26],
[43, 6],
[44, 27],
[45, 7],
[46, 28],
[47, 8],
[48, 29]
]
cnstr_lhs_3 = [[(31, 1, 1.0)],
[(31, 1, 1.0), (36, 1, 1.0)],
[(16, 2, 1.0)],
[(17, 2, 1.0)],
[(18, 2, 1.0)],
[(19, 2, 1.0)],
[(20, 2, 1.0)],
[(21, 2, 1.0)],
[(17, 1, 1.0)],
[(20, 1, 1.0)],
[(20, 0, 1.0)],
[(37, 1, 1.0), (42, 1, 1.0)],
[(31, 2, 1.0), (36, 2, -1.0)],
[(37, 2, 1.0), (42, 2, -1.0)],
[(43, 1, 1.0), (48, 1, 1.0)],
[(43, 2, 1.0), (48, 2, 1.0)],
[(33, 1, 1.0), (34, 1, 1.0)],
[(39, 1, 1.0), (40, 1, 1.0)],
[(45, 1, 1.0), (46, 1, 1.0)],
[(19, 0, 1.0), (21, 0, -1.0)],
[(1, 2, 1.0), (2, 0, -1.0)]
]
cp.cnstr_lhs = cnstr_lhs_3
cp.cnstr_rhs = np.zeros((cp.n_dofs,))
cp.cnstr_rhs[0] = dx
X_ext = np.zeros((cp.n_dofs - len(X_rcp.reshape((-1,))),), dtype = float)
X0 = np.hstack([X_rcp.reshape((-1,)), X_ext])
X0 *= 0.1
#np.set_printoptions(threshold='nan')
print 'dR', cp.get_dR(X0)
print 'R', cp.get_R(X0)
cp.set_next_node(X0)
print 'L_vct', cp.grab_pts_L
print 'n_dofs', cp.n_dofs
print 'n_c', cp.n_c
print 'n_g', cp.n_g
print 'necessary constraints', cp.n_dofs - cp.n_c - cp.n_g * 3 - cp.n_l * 2
print 'cnstr', len(cp.cnstr_lhs)
cp.show_iter = True
X = cp.solve(X0)
return cp