【发布时间】:2016-05-29 02:36:04
【问题描述】:
我使用的是 Python 3.4,并且已经安装了 NunPy/SciPy。 我需要读取具有以下结构的文本文件:
*Node
1, -0.600000024, 1.20000005, 0.
2, -0.600000024, 0.300000012, 0.
3, -0.480560571, 0.1741862, 0.
4, -0.335430175, 0.0791868418, 0.
(...)
n, x, y, z
*Element
1, 1, 2, 3, 4
2, 5, 6, 7, 8
(...)
n, a, b, c, d
从这个 txt 文件中,我需要创建一个名为“node”的矩阵,其中包含 *Node 和 *Element 之间的信息,我的意思是,它必须有 4 列和 n 行,例如:
node=array([1, -0.600000024, 1.20000005, 0.],[2, -0.600000024, 0.300000012, 0.], [3, -0.480560571, 0.1741862, 0.],[4, -0.335430175, 80.07 , 0.], [n, x, y, z])
还有一个叫做“元素”的矩阵,它包含 *Element: 之后的行
元素=数组([1, 1, 2, 3, 4], [2, 5, 6, 7, 8], [n, a, b, c, d])
确实,我只需要“读取”文本文件并将此内容写入两个矩阵。但是,我必须将 *Node 下的信息与 *Element 下的信息分开。我必须有两个矩阵,一个带有节点,另一个带有元素...但是我是 Python 新手,不知道如何以这种方式读取文本文件并生成这些矩阵...
如果有任何帮助/示例,我将不胜感激。非常感谢!
【问题讨论】:
-
是整个文件吗? (在节点/元素数据之前或之后都没有?)通常在 abaqus 输入文件中有更多关键字,但如果仅此而已,它当然会简化事情。
-
是的,这就是整个文件...我的意思是,我必须为大学的一门课程编写自己的有限元求解器 (2D)。而且由于我是 Abaqus 用户,我将读取 Abaqus 格式的节点和元素,因为这样做,我可以以更简单的方式准备模型(使用一些预处理器)。我怀疑是否应该使用 Python 或 Matlab/Octave。我对两者都只有非常基本的知识,所以无论如何我都必须学习,然后我选择了 Python。这是更好的选择吗? =D
标签: python numpy matrix text abaqus