[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dennou-ruby:004060] Re: pde.rb 実行時の ganalysis_ext (LoadError) について
- To: dennou-ruby@xxxxxxxxxxx
- Subject: [dennou-ruby:004060] Re: pde.rb 実行時の ganalysis_ext (LoadError) について
- From: Takeshi Horinouchi <horinout@xxxxxxxxxxxxxxxxx>
- Date: Fri, 14 Jun 2019 12:42:30 +0900
松葉さま:
レスがすっかり遅くなってすみません。ご指摘どうもありがとうございます。
パスの件は,どちらにできるのが正式なのかよくわかりませんが,少なくとも
gem ではご指摘のようになりますね。私のところでは別の形のインストール
経由のコンタミで動いてたのかも...。gem 配布が基本ですから,とりあえず
ご指摘のように直して git push しました(narrayのほうも)。
テスト用可視化もとりこみました。
ありがとうございました。
堀之内
> 堀之内さま、dennou-ruby のみなさま:
>
> 松葉です。
>
> このメーリングリストへの投稿は大学卒業以来です。
>
> gphys-1.5.6 で新規に追加された pde.rb を試そうとしたら LoadError になりましたので、ご報告させていただきます。
> (環境は Debian stretch 9.8 で、 deb パッケージによるインストールです。)
>
> 要点は次の2点です。
> * ganalysis_ext を適切に require できていない
> * pde.rb をテスト動作したときの結果が分かりにくい
>
> 以下は、詳細です:
>
> pde.rb を単純に実行すると、下記のエラーが出ます。
> matsuba@debian:/usr/lib/ruby/vendor_ruby/numru/ganalysis$ ruby pde.rb
> /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in
> `require': cannot load such file -- numru/ganalysis/ganalysis_ext
> (LoadError)
> from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
> from pde.rb:2:in `<main>'
>
> そこで、ganalysis_ext が存在するかどうか調べてみました。
> matsuba@debian:/usr/lib/ruby/vendor_ruby/numru/ganalysis$ sudo find /
> -name "ganalysis_ext*"
> /usr/lib/x86_64-linux-gnu/ruby/vendor_ruby/2.3.0/numru/ganalysis_ext.so
>
> ganalysis_ext.so は存在しているようですが、numru ディレクトリの直下にあるようです。
> なので、以下のように書き換えることで、エラーなく動作するようになりました。
>
> - require 'numru/ganalysis/ganalysis_ext'
> + require 'numru/ganalysis_ext'
>
> ただ、pde.rb を実行しても何も出力されないので、SOR法で解いた結果 z を描画するためのサンプルを盛り込んでみました。
> 描画した結果は、添付画像のとおりとなります。
> # NArray -> GPhys オブジェクトを簡単に作る既存のメソッドってなかったんでしょうか?
>
> 最終的に変更した箇所は以下のとおりです。
>
> matsuba@debian:/usr/lib/ruby/vendor_ruby/numru/ganalysis$ sudo diff -u
> pde.rb{.org,}
> --- pde.rb.org 2019-04-06 21:12:10.949526362 +0900
> +++ pde.rb 2019-04-06 21:47:49.427547634 +0900
> @@ -1,5 +1,5 @@
> require "numru/gphys"
> -require "numru/ganalysis/ganalysis_ext"
> +require "numru/ganalysis_ext"
>
> module NumRu
> module GAnalysis
> @@ -87,4 +87,23 @@
> eps = 1e-6
> ome = 1.95
> GAnalysis::PDE.SOR_2D_2ndorder(z, a, b, c, d, e, f, dx, dy, ome, eps: eps)
> +
> + # -- make gphys object
> + nax = NArray.sfloat(nx).indgen!
> + hax = {'long_name'=>'x-coordinate', 'units'=>'grid number'}
> + vax = VArray.new(nax, hax, 'x')
> + axx = Axis.new.set_pos(vax)
> +
> + nay = NArray.sfloat(ny).indgen!
> + hay = {'long_name'=>'y-coordinate', 'units'=>'grid number'}
> + vay = VArray.new(nay, hay, 'y')
> + axy = Axis.new.set_pos(vay)
> +
> + haz = {'long_name'=>'', 'units'=>''}
> + vaz = VArray.new(z, haz, 'data')
> + gpz = GPhys.new(Grid.new(axx, axy), vaz)
> +
> + GGraph.startup('iws'=>1)
> + GGraph.tone_and_contour gpz,true,'color_bar'=>true
> + GGraph.close
> end
>
> また、narray_ext.rb でも require 'numru/ganalysis/ganalysis_ext' としているようです。
> どこまで波及するか分かりませんが、同様のエラーが生じるものと思われます。
>
> 以上、ご報告いたします。
> お忙しいところかと思いますが、ご対応いただけましたら幸甚です。よろしくお願いいたします。
>
> --
> 松葉 史剛 (MATSUBA Fumitaka)
> E-mail: matsuba@xxxxxxxxxxxxxx
堀之内 武
北海道大学 地球環境科学研究院 地球圏科学部門
〒060-0810 札幌市北区北10条西5丁目