Kratos のコンパイル2019年11月23日 | |
はじめにKratos のコンパイルについて。 環境Ubuntu 16.04 LTS 前準備g++、gfortran、BLAS (libblas-dev)、LAPACK (liblapack-dev)、Python3 (python3-dev) をインストールしておく。 $ sudo apt-get install liblapack-dev python3-dev Boost は別途コンパイルしておく。 参考: preCICE のセットアップ コンパイルソースを取得。 $ git clone https://github.com/KratosMultiphysics/Kratos Kratos コンパイルの設定。 $ cd Kratos/cmake_build $ cp example_configure.sh.do_not_touch configure.sh configure.sh を開いて、BOOST_ROOT と PYTHON_EXECUTABLE の設定を行う。 -DBOOST_ROOT="${HOME}/opt/boost_1_69_0" \ -DPYTHON_EXECUTABLE="/usr/bin/python3" \ コンパイル。 $ sh configure.sh 設定ソースディレクトリ自体がインストールディレクトリである。好きなところに移動する。 $ mv Kratos ~/opt ~/.bashrc などにパスを設定する。 export PYTHONPATH=$PYTHONPATH:~/opt/Kratos export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/opt/Kratos/libs export PATH=$PATH:~/opt/Kratos 設定ファイルを読み込み直すか、端末を再起動する。runkratos を実行してみて何か出ればたぶん OK。 $ runkratos MISSING SCRIPT NAME! Usage: runkratos filename_in.py Python モジュールも確認。 $ python3 Python 3.5.2 (default, Oct 8 2019, 13:06:37) [GCC 5.4.0 20160609] on linux Type "help", "copyright", "credits" or "license" for more information. >>> from KratosMultiphysics import * | / | ' / __| _` | __| _ \ __| . \ | ( | | ( |\__ \ _|\_\_| \__,_|\__|\___/ ____/ Multi-Physics 7.0.0-52c02c1-Release Compiled with OpenMP support. Maximum OpenMP threads: 12. 例題例題の取得。 $ git clone https://github.com/KratosMultiphysics/Examples 円筒回りの流れ$ cp -r Examples/fluid_dynamics/validation/body_fitted_cylinder_100Re . $ cd body_fitted_cylinder_100Re/source $ runkratos MainKratos.py vtk_output ディレクトリに結果が出力されている。 ![]() リッド (蓋) 駆動キャビティ FSIExamples/fluid_structure_interaction/fsi_lid_driven_cavity VTK データを出力させるため、ProjectParameters.json の "gid_output" の最後に以下を挿入する。 }], "vtk_output" : [{ "python_module" : "vtk_output_process", "kratos_module" : "KratosMultiphysics", "process_name" : "VtkOutputProcess", "help" : "This process writes postprocessing files for Paraview", "Parameters" : { "model_part_name" : "Parts_Structure", "output_control_type" : "step", "output_frequency" : 1, "file_format" : "ascii", "output_precision" : 7, "output_sub_model_parts" : true, "folder_name" : "vtk_output", "save_output_files_in_folder" : true, "nodal_solution_step_data_variables" : ["DISPLACEMENT","REACTION","ACCELERATION","POINT_LOAD","VAUX_EQ_TRACTION"], "nodal_data_value_variables" : [], "element_data_value_variables" : [], "condition_data_value_variables" : [] } }, { "python_module" : "vtk_output_process", "kratos_module" : "KratosMultiphysics", "process_name" : "VtkOutputProcess", "help" : "This process writes postprocessing files for Paraview", "Parameters" : { "model_part_name" : "Parts_Fluid", "output_control_type" : "step", "output_frequency" : 1, "file_format" : "ascii", "output_precision" : 7, "output_sub_model_parts" : true, "folder_name" : "vtk_output", "save_output_files_in_folder" : true, "nodal_solution_step_data_variables" : ["VELOCITY","PRESSURE","MESH_DISPLACEMENT","REACTION","VAUX_EQ_TRACTION"], "nodal_data_value_variables" : [], "element_data_value_variables" : [], "condition_data_value_variables" : [] } ![]() 参考 | |
PENGUINITIS |