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とかで)も必要。)
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無いから、余計な事しないでも立ち上がる。
例えばデスクトップにファイルを置いて
ccx -i "/mnt/c/Users/yusuke/Desktop/eyebar"c:¥にアクセスするために、
/mnt/c
と書き換えなくてはならないのが結構面倒くさい。
解析実行に関しての詳細は、ノック2本目で書く。
