こちらで構築したCodeAsterですが、実はMFront:non disponsibleとあるとおり組み込まれていません。
せっかくですので、MFrontを組み込んでみました。
0.準備
CodeAsterのv13.6と一緒に配布されているtfel-3.0.0では、python libraryを作ることができませんでした。そこで、tfel-3.2.0をダウンロードして使用します。
$ tar xfvz tfel-3.2.0.tar.bz2 $ cd tfel-3.2.0
そして
$ cmake -DTFEL_SVN_REVISION=3.2.0 -DCMAKE_BUILD_TYPE=Release -Dlocal-castem-header=ON -Denable-fortran=ON -DPython_ADDITIONAL_VERSIONS=2.7 -Denable-python=ON -Denable-broken-boost-python-module-visibility-handling=ON -Denable-python-bindings=ON -Denable-cyrano=ON -Denable-aster=ON -Ddisable-reference-doc=ON -Ddisable-website=ON -Denable-portable-build=OFF -DCMAKE_INSTALL_PREFIX=/opt/tfel-3.2.0 $ make $ make install
1.環境設定
前回のCodeAsterの構築で作成されたファイルを利用します。
$ cd /opt/aster/13.6/share/aster
このフォルダにあるprofile_mfront.shを利用します。エディタで
HOME_MFRONT=/opt/aster/public/tfel-3.0.0
を
HOME_MFRONT=/opt/tfel-3.2.0
に変更します。
同様にaster_full_config.pyの中のtfelのフォルダ名も変更します。そして
opts.enable_mfront = True
を追加します。
2.構築
CodeAsterのソースファイルが置いてあるフォルダに移動します。
$ cd ~/Install_Files $ cd aster-full-src-13.6.0/SRC/aster-13.6.0 $ export ASTER_ROOT=/opt/aster $ source $ASTER_ROOT/13.6/share/aster/profile_mfront.sh $ ./waf configure --use-config-dir=$ASTER_ROOT/13.6/share/aster --use-config=aster_full_config --prefix=$ASTER_ROOT/MFRONT13.6 $ ./waf install -p
3.結果
新たに構築したCodeAsterを使ってみます。MFRON01を試してみました。
まず、/opt/aster/13.6/share/aster/testからmfron01a.commとChaboche.mfrontを適当な場所(ここでは/home/kk)にコピーしました。
そして、astkを起動します。
$ /opt/aster/bin/astk
そして、次のように設定しました。
resuの設定は不要です。実行にあたり、commの中を少し変更しました。
変更前:os.system("cp src/libAsterBehavior.so Chaboche.so") 変更後:os.system("cp /home/kk/src/libAsterBehavior.so Chaboche.so")
そしてRunボタンをクリックします。
messファイルを開いてみると、MFront:3.2.0となっていることがわかります。
結果もhttps://www.code-aster.org/V2/doc/v13/en/man_v/v1/v1.03.126.pdfの値とあうようです。
Parallel版の方も、Ubuntu_gnu.pyとUbuntu_gnu_mpi.pyを使ってbuildできました。
$ source $ASTER_ROOT/13.6/share/aster/profile_mfront.sh
を実行して、mfrontに必要なファイルへのpathを通すところがポイントでした。
Sponsored
コメント