はじめまして。sampleFem2.pyでエラーが出ます。

89 views
Skip to first unread message

pyontaku14

unread,
Oct 14, 2018, 1:57:24 AM10/14/18
to OpenAcoustics
お世話になります。
藤田と申します。

書籍を購入し、sampleFem2.py を実行したところ、以下のエラーとなりました。
環境はUbuntu18.04.1LTSです。
gmsh.pyを直す必要があるようですが、対処法を教えていただけないでしょうか。

$python sampleFem2.py 
Info    : Running 'gmsh square.geo -2 -clscale 0.5 -order 1 -o tmp.msh' [Gmsh 3.0.6, 1 node, max. 1 thread]
Info    : Started on Sat Oct 13 22:53:33 2018
Info    : Finalized high order topology of periodic connections
Info    : Meshing 1D...
Info    : Done meshing 1D (5e-06 s)
Info    : Meshing 2D...
Info    : Done meshing 2D (1.1e-05 s)
Info    : 0 vertices 0 elements
Info    : Writing 'tmp.msh'...
Info    : Done writing 'tmp.msh'
Info    : Stopped on Sat Oct 13 22:53:33 2018
Traceback (most recent call last):
  File "sampleFem2.py", line 76, in <module>
    nodes = gmsh.getNodes()
  File "/home/pyontaku14/anaconda2/lib/python2.7/site-packages/openacoustics/gmsh.py", line 83, in getNodes
    nodes = self.read('Nodes', 'EndNodes')
  File "/home/pyontaku14/anaconda2/lib/python2.7/site-packages/openacoustics/gmsh.py", line 211, in read
    return self.readbetween(idxs[0], idxs[1])
  File "/home/pyontaku14/anaconda2/lib/python2.7/site-packages/openacoustics/gmsh.py", line 206, in readbetween
    return self.readfromlines(lines)
  File "/home/pyontaku14/anaconda2/lib/python2.7/site-packages/openacoustics/gmsh.py", line 193, in readfromlines
    tmp = self.msh[lines[0]].split()
IndexError: list index out of range
$

よろしくお願いいたします。

藤田 拓生

星 和磨

unread,
Oct 16, 2018, 7:31:02 PM10/16/18
to openac...@googlegroups.com, pyontaku14
藤田様

お世話になります,OpenAcousticsを管理してる一人の星と申します。

FEMを管理している担当に確認をしてもらいました。
最近,新しいバージョンのgmshが生成するmeshデータのフォーマットが替わったようです。
古いフォーマットで生成するように書き直したgmsh.pyを添付します。

openacousticsフォルダ内に入っているgmsh.pyを添付のファイルに置き換えて
再度実行してもらえますでしょうか。

どうぞよろしくお願いします。
> --
> このメールは Google グループのグループ「OpenAcoustics」に登録しているユーザーに送られています。
> このグループから退会し、グループからのメールの配信を停止するには openacoustic...@googlegroups.com <mailto:openacoustic...@googlegroups.com> にメールを送信してください。
> その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。

gmsh.py

pyontaku14

unread,
Oct 17, 2018, 9:52:30 AM10/17/18
to hoshi....@nihon-u.ac.jp, openac...@googlegroups.com
星様

お世話になっております。
ご連絡ありがとうございます。
openacousticsフォルダと/home/pyontaku14/anaconda2/lib/python2.7/site-packages/openacoustics/のgmsh.pyをいただいたものに置き換えましたが、以下のように同じエラーとなります。

$python sampleFem2.py 
Info    : Running 'gmsh square.geo -2 -clscale 0.5 -order 1 -format msh2 -o tmp.msh' [Gmsh 3.0.6, 1 node, max. 1 thread]
Info    : Started on Wed Oct 17 21:35:27 2018
Info    : Finalized high order topology of periodic connections
Info    : Meshing 1D...
Info    : Done meshing 1D (3e-06 s)
Info    : Meshing 2D...
Info    : Done meshing 2D (1.7e-05 s)
Info    : 0 vertices 0 elements
Info    : Writing 'tmp.msh'...
Info    : Done writing 'tmp.msh'
Info    : Stopped on Wed Oct 17 21:35:27 2018
Traceback (most recent call last):
  File "sampleFem2.py", line 76, in <module>
    nodes = gmsh.getNodes()
  File "/home/pyontaku14/anaconda2/lib/python2.7/site-packages/openacoustics/gmsh.py", line 83, in getNodes
    nodes = self.read('Nodes', 'EndNodes')
  File "/home/pyontaku14/anaconda2/lib/python2.7/site-packages/openacoustics/gmsh.py", line 211, in read
    return self.readbetween(idxs[0], idxs[1])
  File "/home/pyontaku14/anaconda2/lib/python2.7/site-packages/openacoustics/gmsh.py", line 206, in readbetween
    return self.readfromlines(lines)
  File "/home/pyontaku14/anaconda2/lib/python2.7/site-packages/openacoustics/gmsh.py", line 193, in readfromlines
    tmp = self.msh[lines[0]].split()
IndexError: list index out of range

相違点は以下のように64行目のようですが、エラーとなっているのはその下の行のようです。

$diff gmsh.py gmsh_old.py 
64c64
<                       + str(clscale) + ' -order ' + str(order)  +  ' -format msh2 -o tmp.msh'))
---
>                       + str(clscale) + ' -order ' + str(order)  +  ' -o tmp.msh'))
$

藤田

2018年10月17日(水) 8:31 星 和磨 <hoshi....@nihon-u.ac.jp>:
Reply all
Reply to author
Forward
0 new messages