本文整理汇总了Python中pyne.mesh.Mesh.structured_get_hex方法的典型用法代码示例。如果您正苦于以下问题:Python Mesh.structured_get_hex方法的具体用法?Python Mesh.structured_get_hex怎么用?Python Mesh.structured_get_hex使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pyne.mesh.Mesh
的用法示例。
在下文中一共展示了Mesh.structured_get_hex方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_structured_get_hex
# 需要导入模块: from pyne.mesh import Mesh [as 别名]
# 或者: from pyne.mesh.Mesh import structured_get_hex [as 别名]
def test_structured_get_hex():
# mesh with valid i values 0-4, j values 0-3, k values 0-2
sm = Mesh(structured_coords = [range(11,16), range(21,25), range(31,34)],
structured=True)
def check(e):
assert_true(isinstance(e, iBase.Entity))
check(sm.structured_get_hex(0, 0, 0))
check(sm.structured_get_hex(1, 1, 1))
check(sm.structured_get_hex(3, 0, 0))
check(sm.structured_get_hex(3, 2, 1))
assert_raises(MeshError, sm.structured_get_hex,-1,-1,-1)
assert_raises(MeshError, sm.structured_get_hex, 4, 0, 0)
assert_raises(MeshError, sm.structured_get_hex, 0, 3, 0)
assert_raises(MeshError, sm.structured_get_hex, 0, 0, 2)
示例2: test_iterate_3d
# 需要导入模块: from pyne.mesh import Mesh [as 别名]
# 或者: from pyne.mesh.Mesh import structured_get_hex [as 别名]
def test_iterate_3d():
# use izip_longest in the lockstep iterations below; this will catch any
# situations where one iterator turns out to be longer than expected.
sm = Mesh(structured=True,
structured_coords =[range(10,15), range(21,25), range(31,34)])
I = range(0,4)
J = range(0,3)
K = range(0,2)
izip = itertools.izip_longest
it = sm.structured_set.iterate(iBase.Type.region,
iMesh.Topology.hexahedron)
# Test the zyx order, which is default; it should be equivalent
# to the standard imesh iterator
for it_x, sm_x in izip(it, sm.structured_iterate_hex()):
assert_equal(it_x, sm_x)
#testing xyz
all_indices_zyx = itertools.product(I, J, K)
# Test the xyz order, the default from original mmGridGen
for ijk_index, sm_x in izip(all_indices_zyx,
sm.structured_iterate_hex("xyz")):
assert_equal(sm.structured_get_hex(*ijk_index), sm_x )
def _tuple_sort(collection, indices ):
# sorting function for order test
def t(tup):
# sort this 3-tuple according to the order of x, y, and z in
#indices
return (tup["xyz".find(indices[0])]*100 +
tup["xyz".find(indices[1])]*10 +
tup["xyz".find(indices[2])])
return sorted(collection, key = t)
def test_order(order, *args, **kw):
all_indices = itertools.product(*args)
for ijk_index, sm_x in izip(_tuple_sort(all_indices, order),
sm.structured_iterate_hex(order,**kw)):
assert_equal(sm.structured_get_hex(*ijk_index), sm_x)
test_order("yxz", I, J, K)
test_order("yzx", I, J, K)
test_order("xzy", I, J, K)
test_order("zxy", I, J, K)
# Specify z=[1] to iterator
test_order("xyz", I, J, [1], z=[1])
# Specify y=2 to iterator
test_order("zyx", I, [2], K, y=2)
# specify x and y both to iterator
test_order("yzx", [1,2,3],J[:-1], K, y=J[:-1], x=[1,2,3])