20200202

Calculix 10本ノック: 1本目

タグ:Windows WSL

Windows上で動かすLinux(WSL)で、Calculixを使えるようにした。
WSLでは基本GUIがないから、ひと手間必要だった。

Calculixとは

フリーの解析ソフト。
OSは基本的にLinux(Windows版もあるが、なぜかcgxの起動が遅い(僕だけ?))。
Abaqusと書式が似ているらしい。

  • ccx ソルバー
  • cgx プリポスト(プリとしてあまり使われない。プリにはgmeshかFreeCADがスタンダード?)

〇本ノックとは

例題を繰り返すやつ。Qiitaとかでよく見る。


ノック1本目: ccx, cgxのインストール

windows上でLinuxが動く状態にする

windows上でUbuntu(Linuxの有名ディストリビューション)が動く(いわゆる Windows Subsystem for Linux)状態にする。

ubuntu

とすると、

yusuke@yusuke-PC-2:~$

と表示されて、ubuntuが起動した状態になればOK。


ccx、cgxをインストールする

この動画を参考にインストールできる。要するに、

sudo apt-get install calculix-ccx
sudo apt-get install calculix-cgx

をする。

インストールが終わったら、

cgx -b a.fbd

上記コマンドで実行できると思いきや、

yusuke@yusuke-PC-2:~$ cgx -b aaa
on a Linux machine, nodename yusuke-PC-2, release 4.4.0-18362-Microsoft, version #476-Microsoft Fri Nov 01 16:53:00 PST 2019, machine x86_64
parameters:3 arguments:2
freeglut (cgx): failed to open display ‘’

エラーで何も動かない。

エラーの解決策

このエラーの解決策は、このサイトのウィンドウが出ないの箇所 )に載っていて、

  • Xming-6-9-0-31-setup.exe
  • Xming-fonts-x-x-x-x-setup.exe(x-x-x-xはバージョン)

をダウンロードしてインストール 後に、下記のコマンドで環境変数の設定して、

export DISPLAY=localhost:0.0

再度cgx

cgx -b aaa.fbd

とすると無事に、cgxが立ち上がる。(ちなみに、Windowsを起動するたびに、Xmingを立ち上げる必要がある。Xmingなしだとやはり同じエラー。後述のbash.bashrcへの記入(Linuxのviとかで)も必要。

1.png

yusuke@yusuke-PC-2:~$ cgx -b aaa.fbd
on a Linux machine, nodename yusuke-PC-2, release 4.4.0-18362-Microsoft, version #476-Microsoft Fri Nov 01 16:53:00 PST 2019, machine x86_64
parameters:3 arguments:2
GL_MAX_EVAL_ORDER:30
ERROR: The input file “aaa.fbd” could not be opened.

↑こんな表示が出る


(重要)exportは、永続性がない。

先ほどexportコマンドで、環境変数を設定した。
しかし、このままではexportは毎回入力しなければならない。
それを回避したいなら、

/etc/bash.bashrc

に、export文を追記する。 /etc/bash.bashrc は、毎回読み込まれるらしい。


サクラエディタで /etc/bash.bashrcを触ってはいけない

/etc/bash.bashrcの編集は、必ずLinuxのコマンドラインからviなどを使って行う。

上記フォルダを、windowsGUIからサクラエディタを使って編集してはいけない。

Windows上での場所が分かったからって、このLinuxファイルをWindowsのツールでいじってはいけない。

サクラエディタとかwindowsから編集すると、ubuntu起動時に、

-bash: /etc/bash.bashrc: Permission denied

と表示されて、bashが読み込まれなくなる。

ユーザー名の色も消える。

解決策は、

> ubuntu$ chmod 644 /etc/bash.bashrc

ここに載ってた。 https://tutorialmore.com/questions-114467.htm

 
Linuxのフォルダの場所

https://qiita.com/kalafinalice/items/70a76d35398ab11af778 にあったのだが、

/etc/bash.bashrcは、Windows上では

“C:\Users\yusuke\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\etc\bash.bashrc”

にあった。yusukeの部分は各ユーザー名により違う。

 
ccx

ccxはGUI無いから、余計な事しないでも立ち上がる。

Windows上のファイルにアクセスするためには

例えばデスクトップにファイルを置いて

ccx -i "/mnt/c/Users/yusuke/Desktop/eyebar"

c:¥にアクセスするために、

/mnt/c

と書き換えなくてはならないのが結構面倒くさい。

解析実行に関しての詳細は、ノック2本目で書く。

タグ:Windows WSL
posted by yuchan at 19:00 | Comment(0) | Calculix
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: