Ubuntu流体程序编译

news2024/11/16 17:42:55

文章目录

  • 前言
  • 一、换源
    • 1.1 (任意)终端窗口输入
    • 1.2 在终端窗口依次输入下面命令
  • 二、编译mpap程序----安装各类库
    • 2.1 安装 Eigen 库
      • 安装Lapack、VTK、SuperLU可以按照师弟文件给出的教程
    • 2.2 安装Lapack
    • 2.3 安装VTK
    • 2.4 安装SuperLU
    • 2.5 安装其他包
    • 2.6 安装 PETSc
    • 2.7 编译mpap
  • 三、使用mpap程序
    • 3.1多线程编译 make -j16
    • 3.2 二、三维程序的使用
    • 3.3 mpap的使用
        • 图片居中加调整大小在png后面加#pic_center =500x220


前言

只是为方便学习,不做其他用途,

一、换源

石凯师弟给的教程 :
在这里插入图片描述

1.1 (任意)终端窗口输入

输入命令:sudo gedit /etc/apt/sources.list
在这里插入图片描述

会出现一个文档将文档内容换成下面代码
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

在这里插入图片描述
会出现红线框内容
在这里插入图片描述

1.2 在终端窗口依次输入下面命令

  • sudo apt-get update
  • sudo apt-get upgrade
  • sudo apt-get install gcc g++ gdb gfortran build-essential cmake cmake-gui git freeglut3-dev
  • sudo apt-get install libcgal-dev
  • sudo apt-get install libmetis-dev
  • sudo apt-get install libparmetis-dev
  • sudo apt-get install libboost-all-dev

遇到下面情况输入 :Y
在这里插入图片描述
最后页面:
在这里插入图片描述

第一遍的报错页面,在最后一个命令时
在这里插入图片描述

在这里插入图片描述

二、编译mpap程序----安装各类库

师弟给的教程:编译mpap文件

第一步和第二步在上面第一部分—换源 部分 完成了
在这里插入图片描述

2.1 安装 Eigen 库

安装 Eigen3.3.6:

在eigen文件夹下打开终端:依次输入
  1. mkdir build
  2. cmake-gui

在这里插入图片描述

选择编译的文件夹

在这里插入图片描述

点击 configure

在这里插入图片描述

将 CMAKE_INSTALL_PREFIX 的位置更改为 /usr;然后点 Generate,之后关闭

在这里插入图片描述

在 build 文件夹下打开终端,然后依次输入
  1. cmake …
  2. sudo make install

在这里插入图片描述

输入后编译完成,最后页面如下

在这里插入图片描述

安装Lapack、VTK、SuperLU可以按照师弟文件给出的教程

2.2 安装Lapack

仿照eigen库安装就可以

在这里插入图片描述

2.3 安装VTK

安装依赖库 :sudo apt-get install freeglut3-dev

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.4 安装SuperLU

已有安装包:
在这里插入图片描述
安装教程:
在这里插入图片描述

2.5 安装其他包

安照教程:

  1. sudo apt-get install libcgal-dev
  2. sudo apt-get install libmetis-dev
  3. sudo apt-get install libparmetis-dev
  4. sudo apt-get install libboost-all-dev

在这里插入图片描述

2.6 安装 PETSc

在PETSc 文件夹中打开终端,输入:

./configure --with-cc=gcc --with-cxx=g++ --with-fc=gfortran --download-openmpi

在这里插入图片描述

然后按照终端的提示一步一步安装即可,依次按照下面的操作

在这里插入图片描述
在这里插入图片描述

检查petsc文件

在这里插入图片描述
完成配置的最后页面:
在这里插入图片描述

2.7 编译mpap

将压缩包中 mpap文件夹提取到 Common 文件夹中:

在这里插入图片描述
打开 CMakeLists 将其中/home/sky/Common 全部改为 /home/自己电脑的用户名/Common 然后保存关闭
在这里插入图片描述
打开终端:

  1. mkdir build bin
  2. cd build
  3. cmake …
  4. make
  5. make install

注意:编译完成后运行算例可能会遇到下列情况
sudo cp lib* /usr/lib
在这里插入图片描述

三、使用mpap程序

3.1多线程编译 make -j16

在这里插入图片描述

3.2 二、三维程序的使用

在这里插入图片描述

重新编译,打开终端:

  1. mkdir build bin
  2. cd build
  3. cmake …
  4. make
  5. make install

3.3 mpap的使用

视频时间1:08:30

示例文件 :
在这里插入图片描述

在这里插入图片描述

将示例文件和配置文件放在同一个文档中,在终端中输入 :/mpap ./ + 文件名

  • ./mpap ./ Icylinder3d-Re20

在这里插入图片描述

图片居中加调整大小在png后面加#pic_center =500x220

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1800221.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

45-5 护网溯源 - 远控木马样本溯源

在分析恶意样本时,需要查看包括作者名字、ID、IP地址、域名等在内的相关信息。 把恶意样本上传到微步、360沙箱云分析:样本报告-微步在线云沙箱 (threatbook.com) 动态分析 运行截图 发现该木马是与一个装机软件绑定的,你运行正常软件的时候…

No module named _sqlite3解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

21 - 即时食物配送 II(高频 SQL 50 题基础版)

21 - 即时食物配送 II -- sum(if(order_datecustomer_pref_delivery_date,1,0))/count(*)sum(order_datecustomer_pref_delivery_date)/count(*) -- count(*),表示数据的行数,如果有分组,为分组后数据的行数select round(100*sum(if(order_datecustomer_…

天诚公租房、人才公寓NB-IOT人脸物联网智能门锁解决方案

近期,全国已有超70城推出商品房“以旧换新”。各地商品房“以旧换新”主要采取国企收购、市场联动、税费补贴三种模式,二手房和新房市场交易活跃度均有提升。 一、人才公寓掀起建设浪潮 事实上,旧房被收购后将被纳入保障性租赁住房&#xf…

【悬架笔记三】1/4被动悬架垂向动力学仿真+频域特性分析

1/4被动悬架 代码: %书第156页、159页 clc clear close all %% 一.悬架参数 ms320; mw50; Ks22000; Cs1500; Kw195000; f00.07; %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% 二.垂向振动动力学仿真 %% 二.1.状态方程 A [0 1 0 -1;.…

查询SQL03:大的国家

问题描述 如果一个国家满足下述两个条件之一,则认为该国是 大国 : 面积至少为 300 万平方公里(即,3000000 km2),或者 人口至少为 2500 万(即 25000000) 编写解决方案找出 大国 的国…

ubuntu 挂载新SSD盘

挂载新 SSD 盘 1 识别新硬盘 使用 lsblk 命令来识别新插入的 SSD 磁盘 lsblk输出可能如下: 在这个例子中 nvme1n1 是新插入的 SSD 磁盘 2 分区 接下来,我们需要对新磁盘进行分区。这里可以使用 parted 或 fdisk 进行分区,现以 parted 为…

Go微服务: 关于TCC分布式事务

TCC 分布式事务 T: Try 预处理, 尝试执行,完成所有的业务检查,做好一致性,预留必要的业务资源,做好准隔离性C: Confirm 确认,如果所有的分支Try都成功了, 就到了这个阶段, Confirm 是真正执行业务的过程, 不做任何业务…

国产Sora免费体验-快手旗下可灵大模型发布

自从OpenAI公布了Sora后,震爆了全世界,但由于其技术的不成熟和应用的局限性,未能大规模推广,只有零零散散的几个公布出来的一些视频。昨日,快手成立13周年,可灵(Kling)大模型发布&am…

BGP汇总+认证

一、BGP 的宣告问题 1、在 BGP 协议中每台运行 BGP 的设备上,宣告本地直连路由 2、在 BGP 协议中运行 BGP 协议的设备来宣告.通过 IGP 学习到的,未运行 BGP 协议设备产2、生的路由; 在 BGP 协议中宣告本地路由表中路由条目时,将携带本地到达这…

Facebook企业户 | Facebook公共主页经营

Facebook作为社交媒体巨头,拥有庞大的用户基数,因此,有效经营公共主页是获取持续流量、提升客户信任度和粘性、促进产品或服务销售与转化的关键。要优化Facebook主页,关注以下几点: 1、参与度是关键指标:因…

LAMPSECURITY: CTF4 靶机实战

信息收集: 存活扫描: 端口扫描: 服务扫描: web页面: blog页面发现注入点: sql注入: sqlmap一把梭: 多个参数记得打: 哦 ssh登录: 老版本的ssh,…

Spring 之 Lifecycle 及 SmartLifecycle

最近在看Eureka源码,本想快速解决这场没有硝烟的战役,不曾想阻塞性问题一个接一个。为正确理解这个框架,我不得不耐着性子,慢慢梳理这些让人困惑的点。譬如本章要梳理的Lifecycle和SmartLifecycle。它们均为接口,其中后…

【Lua】IntelliJ IDEA 写注释或选中变量单词时偶尔会选中相邻的内容或下一行内容

例如: --UI代码local a 0 当你想在a变量上方加一行 --UI代码注释时,会发现敲打daima中文拼音时(还未按回车)就会选中当前行以及下一行前半部分。 打完按空格就会变成这样子! 原因是因为开启了英文检测,需要关掉它。 …

云南区块链商户平台发票助手成品

目录 1 概述2 功能对比3 项目演示图4 核心逻辑4.1智能赋码4.2 解密方法4.3 登录与检测4.4 发票金额大写转换4.5 检查登录是否失效4.6 验证码识别5 演示效果6 项目部署6.1 Web站点部署6.1.1 环境6.1.2 前端6.1.3 后端6.2 Docker部署6.2.1 构建镜像6.2.2 创建容器6.3.3 访问项目域…

算法2:滑动窗口(下)

文章目录 水果成篮找到字符串中所有字母异位词串联所有单词的子串*最小覆盖子串* 水果成篮 两元素排空操作 窗口中存在元素交错情况&#xff0c;所以出窗口一定要出干净&#xff01;&#xff01;&#xff01; class Solution { public:int totalFruit(vector<int>& …

VS2019创建c++动态链接库dll与调用方法

VS2019创建c动态链接库dll与调用方法 1.点击文件-》新建-》项目&#xff0c;输入dll,选择具有导出项的(DLL)动态链接库 2.输入一个文件名&#xff1a;dll2 头文件.h 3.添加加减法函数&#xff1a; // 下列 ifdef 块是创建使从 DLL 导出更简单的 // 宏的标准方法。此 DLL 中的…

【雷达原理】一维CFAR检测算法——对比分析与代码实现

目录 引言一、仿真实例1.1 均匀背景杂波1.2 杂波边缘1.3 多干扰目标杂波 二、MATLAB代码参考文献 引言 推荐博文【目标检测】雷达目标CFAR检测算法 上述文章介绍了四种典型CFAR检测算法的特点及性能对比。本文将利用MATLAB进行仿真&#xff0c;通过实例验证和对比这几种算法的…

MFC 使用sapi文字转换为语音

文章目录 添加头文件声明变量 添加头文件 声明变量 pSpVoice NULL; //默认构造函数中初始化为空 bool CChKBarSCCodeApp::InitSpVoice() {HRESULT hr ::CoInitialize(NULL); // COM初始化if (!SUCCEEDED(hr)){AfxMessageBox(_T("声音环境初始化失败&#xff01;…

拼接屏处理器

拼接屏系统由三大部分组成&#xff0c;即拼接墙、液晶拼接处理器和信号源。其中液晶拼接处理器是关键技术的核心&#xff0c;支持不同像素的图像在大屏显示墙上显示以及在大屏显示墙上任意开窗口、BSV画面叠加、窗口放大缩小、跨屏漫游显示等。液晶拼接处理器一般分为两种&…