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

相关推荐
zhangzelin8884 小时前
bitsandbytes:大语言模型低内存运行的核心工具
其他
manduic5 小时前
小体积大带宽|凯芯 CSS6404LS‑LI pSRAM 赋能通信模块高速低功耗设计
其他
小袁说公考6 小时前
公考培训机构2025年度测评:财务健康度与用户体验重构排名格局
大数据·人工智能·经验分享·笔记·其他·重构·ux
Biocloudy8 小时前
循环肿瘤细胞的分离和分型技术
人工智能·经验分享·笔记·其他
橙子家1 天前
AI 相关概念之(基础层级):AI、ANI、AGI、ASI
其他
叁散1 天前
实验项目1 LTE通信原理与应用
笔记·其他
你的保护色1 天前
启天m428-A104主机,win10系统卡死,重装系统解决方案
其他
老陈头聊SEO1 天前
长尾关键词如何提升SEO效能的实用指南与创新策略
其他·搜索引擎·seo优化
ye150127774551 天前
12V-24V升110V升压转换WT3207
单片机·嵌入式硬件·其他·硬件工程
KaMeidebaby2 天前
卡梅德生物技术快报|禽类成纤维细胞 FISH 实验:鸟类性别染色体基因定位技术实现与数据验证
前端·数据库·其他·百度·新浪微博