我有一个三维长方体(X,Y,Z):1 x 1 x 10.我想创建一个3 x 3 x 21节点和2 x 2 x 20有限元的网格,它们是8-节点具有2x2x2积分点的实体元素。我如何使用Python并收集所有积分点的坐标?
(照片来源:Anton Zaicenco)
感谢您的关注!
答案 0 :(得分:1)
虽然我仍然不完全确定你想要什么,但这里有一个使用numpy.meshgrid
打印所有节点的例子:
import numpy
x = numpy.linspace(0, 1, 3)
y = numpy.linspace(0, 1, 3)
z = numpy.linspace(0, 10, 21)
mesh = numpy.meshgrid(x, y, z)
nodes = list(zip(*(dim.flat for dim in mesh)))
for node in nodes:
print(node)
虽然这也可以作为三个简单的循环来完成:
for x in numpy.linsapce(0, 1, 3):
for y in numpy.linspace(0, 1, 3):
for z in numpy.linspace(0, 10, 21):
print((x, y, z))
有关numpy.meshgrid
使用情况的详细信息,请参阅documentation。