第二篇 在Win10系统上配置有限元框架FEniCS

这篇介绍本来是应该放在基础篇的,但是这个有限元框架真的神TM难装。我弄了一周才弄好,虽然同时有上课写论文什么的,总归花了我不少时间。配置过程也遇到了特别多的问题,而且有些问题目前也只能不了了之,所以放在实战篇希望能与大家交流,更希望有大佬看到可以带飞一下QAQ

关于有限元分析和FEniCS

首先先放一下有限元分析的WIKI和FEniCS的官网:

https://en.wikipedia.org/wiki/Finite_element_method
https://fenicsproject.org/
我对有限元分析的理解就是解偏微分方程(组)。我主要是希望利用它来做一些流体计算(CFD),并且利用FEniCS的伴随算法(adjoint)库。目前我用的adjoint是自己写的,计算效率比较低,Cost Function的下降也比较慢,希望移植到FEniCS上可以获得更好的效果。这里面有大量的数学概念,如果读者希望了解需要自己先做一下功课,至少把WIKI看了。当然如果你对我现在说的东西完全是一头雾水,那我觉得你没有必要学这个,反正也用不到。在我的文章发表后,我也会把代码什么的放上来大家交流交流,或者当作一个adjoint的例子,目前在投稿阶段,敬请期待。关于有限元分析,还有一个非常好用的程序包ANSYS,可以不需要码代码在windows系统上直接操作,下次在这个博客里放一个例子作为bonus(室内PM模拟)。

(伪)在Win10下配置FEniCS

为什么说是“伪”配置呢?因为FEniCS是不能直接在Windows系统下安装的,除非从source code开始编译,后面我们也会说这个办法,不过是在Linux上尝试的,并且没有成功。首先我们需要在Win10下安装一个Ubuntu的子系统,然后再在Ubuntu下安装FEniCS。安装子系统的方法是从Microsoft官网上摘下来的:https://docs.microsoft.com/en-us/windows/wsl/install-win10

激活子系统

以管理员权限(右键->以管理员身份运行)PowerShell,找不到就用微软小娜搜一下。然后键入,回车:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

然后会需要你重启一下电脑。

下载Ubuntu

这一步同样非常傻瓜 ,只用在应用商店(Microsoft Store)搜索Linux安装Ubuntu就可以了。

这里需要选择第一个,第一次打开Ubuntu会花上几分钟,等得太久可以敲敲回车试试,然后会需要你设置用户名和密码等。

安装FEniCS

在Ubuntu的命令行窗口输入一下命令:

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:fenics-packages/fenics
sudo apt-get update
sudo apt-get install --no-install-recommends fenics

就可以了,然后为了方便测试和使用,建议再安装一下ipython3

sudo apt-get ipython3

如果想使用adjoint也可以用同样的办法安装pip3,然后用pip3 install安装 dolfin-adjoint,Ubuntu自带了vim可以用于编辑,当然你也可以在windows下编辑好,然后存到子系统路径下。子系统的根路径默认在:
C:\Users\用户名\AppData\Local\lxss
然后我们可以在命令行窗口打开ipython3,并且按照
http://www.dolfin-adjoint.org/en/latest/documentation/tutorial.html#dolfin-adjoint-tutorial
测试一下
如果遇到这样的错误:

ImportError: No module named 'fenics'
ImportError: No module named 'dolfin'

可以试试到python3下运行试试

Linux下安装dolfin遇到的报错

这部分报错是通过source code编译安装FEniCS时遇到的,与上面的东西无关。
这个报错我一直也没有解决,之前的报错可以通过选择适当的gcc, icc, cmake, boost, petsc, slepc的版本解决,或者通过管理员权限解决。直到最后一部安装dolfin时,输入:

pip install .

返回报错:

"PETSc was configured with one OpenMPI mpi.h version but now appears to be compiling using a different OpenMPI mpi.h version"

我在各种交流平台上搜了很久,也尝试了各种编译器也没有能解决这个问题。

第二篇 在Win10系统上配置有限元框架FEniCS相关推荐

  1. 在win10系统上配置phpstorm 2018+php7.3+xdebug的开发环境

    使用线程安全版本的php-7.3.6-Win32-VC15-x64.zip 下载后解压到本地确定的目录 我的目录是C:\Aprograms\Bsystem\Asofts\php 同时在该主目录 cp ...

  2. win10下的linux占用大小,详解Win10系统上使用Linux之前要知道的几件事

    现在微软的官方项目Primordial已经能够在Windows 10中翻译Linux系统指令,并可以原生运行包括shell等核心Linux工具,在win10系统中运行Linux不再是儿戏. Primo ...

  3. 【记录】在win10系统上安装ubuntu(乌班图)双系统

    在win10系统上安装Ubuntu(乌班图)双系统 先说一下Ubuntu系统的优势: ubuntu就是为个人用户打造的系统 桌面特效很炫 运行计算很快 没病毒(linux下的病毒个人电脑是碰不到的) ...

  4. 怎么设置win10的更新服务器未响应,Win10系统正在配置更新卡住不动怎么办

    Win1064位系统每月都会进行自动更新,然而系统自动更新的时候,系统提示正在配置更新卡住不动,一般都这时候需要我们耐心的等待,不能重新启动电脑,如果等了很久还是不行,可以跟随小编一起来看看Win10 ...

  5. 【wpf】在win10系统上弹出toast和notification

    原文:[wpf]在win10系统上弹出toast和notification 老规矩,先看效果 右下角的notification: 操作中心的notification: 整体效果: 前提条件 1.需要在 ...

  6. win10系统怎么qq远程连接到服务器,QQ远程控制功能在Win10系统上无法使用怎么解决...

    qq远程协助有一个问题,无法获得内网权限,如果对方电脑的安全等级设置高一点就会出现只能看到桌面无法点击的情况,这样的情况通常在win8与win10系统中最为常见,那么怎么解决QQ远程win10系统电脑 ...

  7. 计算机配置太低,安装Win10系统电脑配置太低怎么办

    现在电脑更新换代都很快,几年前的主流电脑配置跟现在比起来就差了一大截.Win10系统电脑配置要求不高,但是还是有一些比较老的机子无法安装Win10.那么想要安装Win10系统电脑配置太低怎么办呢?下面 ...

  8. win10计算机睡眠怎么设置密码,win10系统如何配置唤醒密码?windows10设置唤醒密码的方法...

    如果我们长时间不使用电脑,win10系统就会自动进入屏幕保护模式.而不少windows10用户为了系统安全,都想要设置唤醒密码.这该如何操作呢?接下来,小编就向大家分享win10系统配置唤醒密码的具体 ...

  9. win10的计算机服务器,Tomcat服务器怎么在Win10系统上搭建-电脑自学网

    Tomcat服务器也是经常被用到的一种比较简单的服务器,那么Win10系统怎么配置Tomcat服务器呢?Tomcat服务器怎么在Win10系统上搭建?下面给大家介绍具体的操作步骤. 搭建方法: 必要前 ...

  10. 在win10系统上安装一个winXP系统的虚拟机

    在win10系统上安装一个winXP系统的虚拟机 此经验是经过本人在笔记本电脑上实现安装虚拟机的操作步骤总结. 工具/原料 VMware Workstation 风林火山XP系统.iso镜像文件 方法 ...

最新文章

  1. Android实用应用程序源码
  2. c swap方法在哪个库里面_在编程竞赛中高效地编写C/C ++代码
  3. Linux查看进程和终止进程的技巧
  4. 帮助创建未来的 .NET 客户端开发
  5. python packages limited ram_python import自己创建的框架下的子模块—pychram和cmd正确执行脚本的两种方法...
  6. 计算两个日期相差的小时差
  7. 配置maven mvn命令使用jdk 1.7编译
  8. SAP系统和微信集成的系列教程之十:如何在SAP C4C系统里直接回复消息给微信用户
  9. Git 撤销操作 / 回滚历史
  10. mac 没有所有开发者_为什么开发人员应该像产品所有者那样思考
  11. 重磅!百度飞桨开源语音基础模型库|中英文语音识别、语音翻译、语音合成、声音分类通通一行代码轻松搞定...
  12. 【笔记】Android.mk编译apk不生成ota包或者odex包
  13. 卸下重负,苏宁易购重组价值逻辑
  14. H5+CSS前端特效源代码:可旋转动态日文片假名
  15. 【跨境电商】EDM邮件营销完整指南(二):如何开展EDM营销活动
  16. ActiveSync 与 Pocket PC 2003 仿真器 建立同步
  17. 1. 遥控器-华科尔Devo7e 改造成为支持 dsm2/dsmx 的多制式遥控器
  18. 电脑html接口显示器不亮,电脑主机开了显示器没反应无信号及键盘鼠标不亮的解决方法...
  19. 大数据处理算法--Bloom Filter布隆过滤
  20. 从印刷专业到程序员 从4k到10k “谁说女的不适合学编程?”

热门文章

  1. ESXI安装部署主机
  2. 软件录制电脑扬声器音频的原理
  3. Windows 10 语言包下载 LCU补丁添加 DISM++及wsusscn3.cab下载(WindowsISO映像定制 )
  4. Mac Dotnet 坑 - Donet EF
  5. web前端emoji表情
  6. 信息系统分析与设计 第三章 信息系统建设概论
  7. 第1章 信息系统综合知识
  8. ENVI 遥感图像监督分类概述
  9. 【snipaste下载和快捷键的修改】
  10. Embedded Linux学习笔记—TQE9_i.MX6Q LTIB环境配置