Salome_meca 2021のインストール方法と新機能

[Code_Aster公式ホームページ](https://code-aster.org/)のNews「[salome_meca 2021 under LGPL license is available for download](https://www.code-aster.org/spip.php?article1127)」を機械翻訳にかけました

# salome_meca 2021はLGPLライセンスでダウンロード可能

2021年10月18日
新しいsalome_meca 2021はLGPLライセンスでダウンロード可能

この2021年版は、以下の製品を統合しています：

* SALOME 9.7.0 ;
* code_aster安定板（version 15.4）;
* code_aster旧安定板（version 14.8）;
* AsterStudy ;
* MEDConverter ;
* EUROPLEXUS module ;
* Salome-Mecaプラグイン: CABRI ;
* code_aster translator ;
* astk. このバージョンは、Scibian9のSingularityコンテナーを介して配布されているため、すべてのLinux OSと互換性があります。WSL2がインストールされていれば、Windows 10/11での使用も考えられます。

## Ubuntu 18と20へのSingularityのインストール

aptで入手できるsingularityのバージョンは十分に新しくないため、singularityを一からコンパイルする必要があります。

compile-singularityを参照してください。

## CentOS用singularityのインストール

CentOSを使用している場合は、EPELパッケージマネージャーを使ってSingularityをダウンロードできます。
まず、パッケージリストを更新し、epel-releaseをインストールする必要があります。

```python
sudo dnf search epel
```
```python
sudo dnf install epel-release
```

その後、パッケージリストを以下のように更新します：

```Bash
sudo dnf update
```

最後に、Singularityとその前提条件をダウンロードしてインストールします。

```Bash
sudo dnf install singularity
```

## Singularityを最初からコンパイル


Singularity v3.6.4をビルドするには、前提条件としてGo言語（バージョン1.14以上）が必要です。
そのため、この製品をビルドすることも必須です。

```Bash
sudo apt-get install -y build-essential libseccomp-dev pkg-config squashfs-tools cryptsetup
```

別のディストリビューションを使用している場合は、リストにあるパッケージをインストールする必要があります。

次に、Goをコンパイルするために2つの環境変数を設定する必要があります。以下のコマンドは、もちろん必要に応じて個人的な選択に合わせて変更できます：

```Bash
echo 'export GOPATH=${HOME}/go' >> ~/.bashrcecho 'export 
```

```Bash
PATH=/usr/local/go/bin:${PATH}:${GOPATH}/bin' >> ~/.bashrcsource ~/.bashrc
```

これで、Goがダウンロードできるようになります：

```Bash
cd $HOMEwget https://golang.org/dl/go1.15.5.linux-amd64.tar.gz
```

```Bash
tar -C ./ -xzf go1.15.5.linux-amd64.tar.gzgo version
```

完了したら、golangci-lintをダウンロードしてコンパイルする必要があります。

```Bash
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.32.2
```

Goが利用可能になったので、Singularityのソースコードをダウンロードできるようになりました。
まず、ディレクトリを作成して、gitを使ってdeソースコードをクローンしましょう：

```Bash
mkdir $HOME/dev && cd $HOME/devgit
```

```Bash
clone https://github.com/sylabs/singularity.git && cd singularity
```

現在の安定バージョンはv3.7.0です。
このバージョンをコンパイルするためには、gitを使用して正しいリビジョン（タグ）でソースコードを更新する必要があります。

```Bash
git checkout v3.7.0
```

最後に、Singularityのビルドが可能になりました。

```Bash
./mconfigcd ./builddirmakesudo make install
```

これで、インストールが正しく行われ、コンパイルされたバージョン（v3.7.0）を確認できます。

```Bash
singularity version
```

## salome_mecaのインストール

まず、singularity v3をインストールします。
このプロセスの詳細については、[singularityウェブサイト](https://sylabs.io/guides/3.0/user-guide/quick_start.html)と前のセクションを参照してください。

* salome_meca 2021のコンテナーをダウンロードします（右クリックで「名前を付けて保存」）：
* コンテナーの環境を整え、ランチャーを生成するために、ターミナルで以下のコマンドを使用します[^1]

[^1]: 実際に用いたコンテナーのファイル名は「salome_meca-lgpl-2021.0.0-1-20210811-scibian-9」でした。ダウロードしたファイル名に合わせて以後、コマンドは修正してください。

```Bash
singularity run --app install salome_meca-lgpl-2021.0.0-0-20210601-scibian-9.sif
```

前提条件がすべてコンテナーに入っているので、他のものをインストールする必要はありません。

* singularityコンテナーを使用したsalome_meca 2021の起動 :

```Bash
./salome_meca-lgpl-2021.0.0-0-20210601-scibian-9
```

* salome_mecaはGPUアクセラレーションを使用しており、Nvidiaのようなデバイスを想定しています。ただし、onでは、このようなオプションを使用して、ソフトウェアレンダリングを使用することもできます。

```Bash
./salome_meca-lgpl-2021.0.0-0-20210601-scibian-9 --soft
```

## 新機能

このバージョンでは、ANSYSのメッシュ形式が、MED形式へのメッシュ変換ツールであるMEDConverterで利用できるようになりました。

このバージョンは**AsterStudy 2021.0.0**を統合したものです。

そして、もちろん、code_aster V15.4では、code_asterがpythonモジュールになりました。

## サポートされているLinuxディストリビューション

このコンテナバージョンは、以下の64ビットLinuxディストリビューションでテストされています。

* Scibian 9 & 10
* Centos 8 & 9
* Ubuntu 18.04

オープンシミュレーション体験をお楽しみください！