Linux下编译Kratos

本文记录在Linux下编译Kratos的流程。

零、环境

|---------|--------------------|
| 操作系统 | Ubuntu 22.04.4 LTS |
| VS Code | 1.92.1 |
| Git | 2.34.1 |
| GCC | 11.4.0 |
| CMake | 3.22.1 |
| Boost | 1.74.0 |
| oneAPI | 2024.2.1 |

一、依赖与代码

1.1 安装依赖

bash 复制代码
apt-get update
apt-get install vim openssh-server openssh-client ssh \
  build-essential cmake git doxygen \
  libboost-all-dev intel-basekit intel-hpckit
bash 复制代码
wget https://bootstrap.pypa.io/get-pip.py
python3 get-pip.py

1.2 下载代码

bash 复制代码
git clone --progress --recursive -v https://github.com/KratosMultiphysics/Kratos.git
cd ./Kratos/
git checkout -b Kratos-v9.5 v9.5

二、VS Code

下载VS Code,然后安装以下插件,

|---------------------------------------------------------------------------------------------------------------|---|
| Task Explorer Output Colorizer Git Extension Pack Git Graph Remote Developement Remote X11 | |
| C/C++ Extension Pack C++ TestMate | |
| Modern Fortran FORTRAN InstelliSense Fortran Breakpoint Support | |
| Python Extension Pack | |
| Environment Configurator for Intel Software Developer Tools Extension Pack for Intel Software Developer Tools | |

三、编译

按附录I新建CMakeUserPrersets.json,在CMake Tools中,选择'GCC 11.4.0 x86_64-linux-gnu' Kit,完成Kratos编译与安装。

|---------------------|----|
| EXCLUDE_KRATOS_CORE | ON |
| | |
| | |

四、测试

附录I: CMakeUserPresets.json

bash 复制代码
{
    "version": 4,
    "configurePresets": [
        {
            "name": "linux_default",
            "hidden": true,
            "displayName": "Default Linux Config",
            "description": "Default build using Unix Makefiles generator",
            "generator": "Unix Makefiles",
            "binaryDir": "${sourceDir}/out/build/${presetName}",
            "cacheVariables": {
                "CMAKE_INSTALL_PREFIX": "${sourceDir}/out/install/${presetName}",
                "CMAKE_BUILD_TYPE": "Debug"
            }
        },
        {
            "name": "linux_gcc",
            "inherits": "linux_default",
            "displayName": "linux_gcc",
            "description": "Using compilers: C = /usr/bin/gcc, CXX = /usr/bin/g++",
            "cacheVariables": {
                "CMAKE_C_COMPILER": "/usr/bin/gcc",
                "CMAKE_CXX_COMPILER": "/usr/bin/g++",
                "CMAKE_MAKE_PROGRAM": "/usr/bin/make",
                "MKL_INTERFACE": "lp64"
            },
            "environment": {
                "KRATOS_APPLICATIONS": "applications/FluidDynamicsApplication;applications/FreeSurfaceApplication"
            }
        }
    ],
    "buildPresets": [
        {
            "name": "linux_gcc",
            "displayName": "linux_gcc",
            "description": "Using compilers: C = /usr/bin/gcc, CXX = /usr/bin/g++",
            "configurePreset": "linux_gcc"
        }
    ]
}

附录II:cmake-tools-kits.json

bash 复制代码
[
  {
    "name": "GCC 11.4.0 x86_64-linux-gnu",
    "compilers": {
      "C": "/usr/bin/gcc",
      "CXX": "/usr/bin/g++"
    },
    "isTrusted": true
  }
]

参考资料

  • Pooyan Dadvand. A Framework for Developing Finite Element Codes for Multi-Disciplinary Applications. Monograph CIMNE, January 2008.

网络资料

Kratoshttps://github.com/KratosMultiphysics/Kratos

Using Visual Studio Code with Intel® oneAPI Toolkits User Guidehttps://www.intel.com/content/www/us/en/docs/oneapi/user-guide-vs-code/2024-2/overview.html

相关推荐
Mxzx品牌11 小时前
佛山招聘软件哪个好:【帅聘网】匹配度高
笔记·其他·生活
5757713 小时前
净水器怎么选才实惠:过滤精度、流速、总净水量和认证四步核账法
其他
执欣之手13 小时前
Hmcke Tugam
其他
深圳帝王星科技1 天前
SE8408 Sync Buck 100V 30A
其他
北京海得康1 天前
瑞拉可兰 (Relacorilant) 不良反应、安全警戒要点与临床安全
其他
智慧大脑搬运工2 天前
环保绩效A级B级评定标准与绿色制造准入机制研究——基于山东省2025—2026年政策框架分析
其他
cellurw2 天前
20260803 LA Vendor与CDSP修复及BP模块实测
其他
2601_962101833 天前
广告灯箱导光板材料对比:PMMA vs PC vs PETG,亮欣如何用光学级PMMA实现高亮低故障?
其他
执欣之手3 天前
Hullnky Taper
其他
邵老师讲教育4 天前
2026实测:6大宁波数学小升初机构横向对比
其他