Windows 10 でCode_Asterの計算速度比較

#はじめに
windows(wsl)で複数のCode_aser 環境ができたので計算速度を比較してみたいと思います。

* [Salome-Meca for Windows (V2019) を 日本語環境の Windows 10 で動かす](https://qiita.com/Daiius/items/5160a9441f4c5fcebcfe)
* [wsl：単一版](https://qiita.com/kitamvra/items/3c2a832c589ad23ae17e)
* [wsl：並列版](https://qiita.com/kitamvra/items/02ae83d228acb3c6efdd)

#計算対象
下記の２次シェル要素の静解析で計算時間を比較してみたいと思います。

```bash
------------ MAILLAGE MAILBASE - IMPRESSIONS NIVEAU  1 ------------
NOMBRE DE NOEUDS                      284573
NOMBRE DE MAILLES                     142986
                              SEG3                 1400
                              TRIA6              141586
NOMBRE DE GROUPES DE MAILLES               3
                              Face                            141586
                              hold                               100
                              load                               100
```

#計算結果の比較(MECA_STATIQUEの部分のみ) 
N1の参考値です。UNITE=6 messファイルに出力される値を示しています。

### 単一版
windows版はsalomeでインストールされるasterを利用します。
vscodeのterminalでas_run.bat ～.export を実施しています。

| OS_ASTER-VER | SOLVER | OPTION | RESUTL USER | RESULT SYSTEM |
|-------|--------|--------|--------|---|
| Windows10_14.4| MULT_FRONT| ---| --- |---|
| Windows10_14.4| MUMPS| POSTTRAITEMENTS='MINI'| 72.27  | 16.77|
| wsl_14.6| MULT_FRONT| ---| 46.33  | 9.28|
| wsl_14.6| MUMPS| POSTTRAITEMENTS='MINI'| 55.67 | 24.37 |

### 並列版

| mpi_nbcpu-ncpus | SOLVER | OPTION | RESUTL USER | RESULT SYSTEM |
|-------|--------|--------|--------|---|
| 1-0| MULT_FRONT| ---| 46.55 | 9.28|
| 1-2| MULT_FRONT| ---| 53.11 |8.73|
| 1-0| MUMPS| POSTTRAITEMENTS='MINI'| 57.25 | 23.98 |
| 2-0| MUMPS| POSTTRAITEMENTS='MINI'| 42.22 | 10.85 |
| 4-0| MUMPS| POSTTRAITEMENTS='MINI'| 50.92 | 47.50 |
| 2-2| MUMPS| POSTTRAITEMENTS='MINI'| 49.54 | 10.64 |

# 考察
wsl 環境で計算を行っても遅くなることはないようです。
設定不備か規模の問題と思いますが並列効果が全く得られていません。
引き続き検討を行いたいと思います。 問題点のコメントいただけると幸いです。
今回使用したCOMMファイルは以下になります。

<details><summary>**stress.comm**（クリックして表示）</summary><div>

```python:stress.comm
# !python

DEBUT(IGNORE_ALARM='UTILITAI4_2')

MAILBASE = LIRE_MAILLAGE(FORMAT='MED',
                         UNITE=20)

MAIL = CREA_MAILLAGE(MAILLAGE=MAILBASE,
                     MODI_MAILLE=_F(OPTION='TRIA6_7',
                                    TOUT='OUI'))

mode = AFFE_MODELE(AFFE=_F(MODELISATION='3D',
                           PHENOMENE='MECANIQUE',
                           TOUT='OUI'),
                   MAILLAGE=MAILBASE)

model = AFFE_MODELE(AFFE=_F(MODELISATION='COQUE_3D',
                            PHENOMENE='MECANIQUE',
                            TOUT='OUI'),
                    MAILLAGE=MAIL)

elempro0 = AFFE_CARA_ELEM(COQUE=_F(EPAIS=1.2,
                                   GROUP_MA=('Face', )),
                          MODELE=model)

mater = DEFI_MATERIAU(ELAS=_F(E=210000.0,
                              NU=0.3,
                              RHO=7.8e-09))

materfl = AFFE_MATERIAU(AFFE=_F(MATER=(mater, ),
                                TOUT='OUI'),
                        MODELE=model)

mecabc = AFFE_CHAR_MECA(DDL_IMPO=_F(DRX=0.0,
                                    DRY=0.0,
                                    DRZ=0.0,
                                    DX=0.0,
                                    DY=0.0,
                                    DZ=0.0,
                                    GROUP_MA=('hold', )),
                        MODELE=model)

CHARGE = AFFE_CHAR_MECA(FORCE_ARETE=_F(FY=-0.02,
                                      GROUP_MA='load'),
                        MODELE=model)

RESULT = MECA_STATIQUE(CARA_ELEM=elempro0,
                       CHAM_MATER=materfl,
                       EXCIT=(_F(CHARGE=mecabc),
                              _F(CHARGE=CHARGE)),
                       MODELE=model,
                       SOLVEUR=_F(
                               METHODE="MULT_FRONT",
                             # METHODE='MUMPS'
                             # POSTTRAITEMENTS='MINI',
                               ),
                        )

# RESULT = CALC_CHAMP(
#                     reuse=RESULT,
#                     FORCE=('REAC_NODA', ),
#                     RESULTAT=RESULT)

# RES = PROJ_CHAMP(MODELE_1=model,
#                  MODELE_2=mode,
#                  RESULTAT=RESULT)

# RESULT = CALC_CHAMP(
#                     reuse=RESULT,
#                     CONTRAINTE=('SIEF_ELNO',),
#                     CRITERES=('SIEQ_ELNO'),
#                     RESULTAT=RESULT)

# RES_SUP = POST_CHAMP(
#                  EXTR_COQUE=_F(NIVE_COUCHE='SUP',
#                                NOM_CHAM=('SIEF_ELNO', 'SIEQ_ELNO',),
#                                NUME_COUCHE=1),
#                  RESULTAT=RESULT)
# RES_SUP = CALC_CHAMP(
#                     reuse=RES_SUP,
#                     # CONTRAINTE=('SIEF_NOEU'),
#                     CRITERES=('SIEQ_NOEU'),
#                     RESULTAT=RES_SUP)
# SUP = PROJ_CHAMP(MODELE_1=model,
#                  MODELE_2=mode,
#                  RESULTAT=RES_SUP)

# RES_INF = POST_CHAMP(
#                  EXTR_COQUE=_F(NIVE_COUCHE='INF',
#                                NOM_CHAM=('SIEF_ELNO', 'SIEQ_ELNO',),
#                                NUME_COUCHE=1),
#                  RESULTAT=RESULT)
# RES_INF = CALC_CHAMP(
#                     reuse=RES_INF,
#                     # CONTRAINTE=('SIEF_NOEU'),
#                     CRITERES=('SIEQ_NOEU'),
#                     RESULTAT=RES_INF)
# INF = PROJ_CHAMP(MODELE_1=model,
#                  MODELE_2=mode,
#                  RESULTAT=RES_INF)

# RES_MOY = POST_CHAMP(
#                  EXTR_COQUE=_F(NIVE_COUCHE='INF',
#                                NOM_CHAM=('SIEF_ELNO', 'SIEQ_ELNO',),
#                                NUME_COUCHE=1),
#                  RESULTAT=RESULT)
# RES_MOY = CALC_CHAMP(
#                     reuse=RES_MOY,
#                     # CONTRAINTE=('SIEF_NOEU'),
#                     CRITERES=('SIEQ_NOEU'),
#                     RESULTAT=RES_MOY)
# MOY = PROJ_CHAMP(MODELE_1=model,
#                  MODELE_2=mode,
#                  RESULTAT=RES_MOY)

# IMPR_RESU(
#           FORMAT='MED',
#         #   FORMAT='RESULTAT',
#           RESU=(
#                 _F(RESULTAT=SUP), 
#                 # _F(RESULTAT=INF), 
#                 # _F(RESULTAT=MOY), 
#                 _F(
#                 #   MAILLAGE=MAILBASE,
#                   NOM_CHAM=("DEPL", 'REAC_NODA', ),
#                   RESULTAT=RES), 
#                 ),
#           UNITE=80)

# IMPR_RESU(
#         #   FORMAT='MED',
#           FORMAT='RESULTAT',
#           RESU=(_F(GROUP_MA='hold',
#                    NOM_CHAM='SIEQ_NOEU',
#                    RESULTAT=SUP),
#                 _F(GROUP_MA='load',
#                   #  MAILLAGE=MAILBASE,
#                    NOM_CHAM='DEPL',
#                    RESULTAT=RES)),
#           UNITE=8)
FIN()
```
</div></details>

ありがとうございました。