Windows11 WSL2にSalomeMeca2022をインストールしてみた

最近、Windows11の機能でWSL2を使ってOpenFOAMなどのOpenCAEをインストールすることがあり、salomemecaのWSL上でも動くという話があったのでインストールしました。
ここではUbuntuのバージョンは、22.04LTS、SalomeMecaは2022です。

こちらのサイトの情報を見ながらインストールを行いました。
https://forum.code-aster.org/public/d/27156-installing-official-salome-meca-on-windows-10-11-using-wsl2

youtubeでも導入説明があります。
<iframe width="560" height="315" src="https://www.youtube.com/embed/pMrkfl_QR6Q?si=KO8j5SyMYA5WHdt9" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>

# 1.環境構築
## 1.1 イメージデータのデータ保存
２つのファイルをダウンロードします。

1)salomemeca用Ubuntu22.04LTSファイル
このページ上（https://forum.code-aster.org/public/d/27156-installing-official-salome-meca-on-windows-10-11-using-wsl2）
にあるsmeca_2022_wsl2_ubuntu_22.04.tarをダウンロードします。
開発者のHASSANさんがsalomemecaを動かせるようにUbuntu22.04LTSをカスタマイズしています。
データは、Cドライブにinstallというフォルダを作り保存します。

2)salomemeca2022のバイナリデータ
公式ページ(https://code-aster.org/spip.php?article303)
からダウンロードします。
ファイル名は、「salome_meca-lgpl-2022.1.0-20221225-scibian-9.sif」です。
データは、Cドライブにsalomemecaというフォルダを作り保存します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3782081/31fdc039-da1f-94d3-14b1-04f19a03bd86.png)


## 1.2　Ubuntu22.04LTSイメージディスクを作るファイルをつくる。
windowsのスタートメニューからwindowspowershellを検索し起動します。
そのとき、管理者権限で起動させます。環境構築やsalomemecaの起動は管理者権限でのwindowspowershellを使います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3782081/7cdc8858-c073-d0ce-1933-d471e7cdb7d7.png)

以下のコマンドを入力します。
```
C:\smecawsl2
PS C:\smecawsl2> wsl --import smecawsl2  C:\smecawsl2
C:\install\smeca_2022_wsl2_ubuntu_22.04.tar
```

## 1.3 wsl -listの確認
smecawsl2があれば1.2の作業ははうまくいっています。
```
PS C:\smecawsl2> wsl --list
Linux 用 Windows サブシステム ディストリビューション:
Ubuntu-22.04 (既定)
smecawsl2
```

## 1.4　salomemeca2022のバイナリファイルとのリンク
salomemeca2022のバイナリデータをエクスプローラ上から\opt\sm内へコピーします。
下図は、salome_meca-lgpl-2022.1.0-20221225-scibian-9.sifをコピー済みの状態です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3782081/e99d4713-342d-1895-4bda-3a8a8607fda7.png)


/opt/sm内にリンク、いわゆるシンボリックリンクを張ります。
```
user@DESKTOP-FRSS8U8:/opt/sm$ ln -s /opt/sm/image/salome_meca-lgpl-2022.1.0-20221225-scibian-9.sif
```

うまくいくと、ls -lと入力すると、シンボリックリンクがはられているのが確認できます。
```
user@DESKTOP-FRSS8U8:/opt/sm$ ls -l
total 20
-rw-r--r-- 1 user user  351 Jul 17  2023 README
drwxr-xr-x 2 user user 4096 Jul 17  2023 bin
drwxr-xr-x 2 user user 4096 Aug 12 11:28 image
drwxr-xr-x 2 user user 4096 Jul 17  2023 resources
lrwxrwxrwx 1 user user   75 Aug 12 10:43 salome_meca-lgpl-2022.1.0-1-20221225-scibian-9.sif -> /mnt/g/containers/sm2022/salome_meca-lgpl-2022.1.0-1-20221225-scibian-9.sif

```

# 2.salomemecaの起動終了
## 2.1 salomemecaの起動
windowsのスタートメニューからwindowspowershellを検索し起動します。
そのとき、管理者権限で起動させます。環境構築やsalomemecaの起動は管理者権限でのwindowspowershellを使います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3782081/7cdc8858-c073-d0ce-1933-d471e7cdb7d7.png)

続いて、以下のコマンドを入力します。
```
user@DESKTOP-FRSS8U8:/mnt/c/WINDOWS/system32$ wsl -d smecawsl2
```

さらに、以下のコマンドを入力します。
```
user@DESKTOP-FRSS8U8:/mnt/c/WINDOWS/system32$ salome_meca
```

成功すると、salomemecaの画面が表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3782081/d6325917-1cf1-42de-bce0-e572da0ab67c.png)

＜解析例＞
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3782081/d0bcc4c6-53b7-8de6-7649-7e1d37d93e34.png)

## 2.2 salomemecaの終了
salomemeca上から終了を行います。

```
user@DESKTOP-FRSS8U8:/mnt/c/WINDOWS/system32$ exit
logout
```
```
PS C:\WINDOWS\system32> wsl --shutdown
```

```
PS C:\WINDOWS\system32> exit
```
とおすと、windowspowershellが終了します。

下図は、終了直前の画面
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3782081/f9877a2e-46fe-cade-b59d-0927dc949a7b.png)

# 3.その他やってみたこと

salomemeca2023が起動できるか「1.3　salomemeca2022のバイナリファイルとのリンク」でバイナリをsalomemeca2023に変更して、シンボリックリンクをつないでみましたが、うまくいきませんでした。


# 4.まとめ
Windows版SalomeMecaでインストールがうまくいかないときには、今回紹介した方法でインストールできるかと思います。
今回のインストール環境を公開したHASSANさんにお礼申し上げます。