Group Details Private

教授

  • RE: interFoam相方程里人工对流项在哪里?

    @cresendo 那就是纯对流方程了

    posted in OpenFOAM
  • RE: 关于potentialFoam的问题

    @wying

    1. 是的,会把内部场重置为0,保留边界条件设置的值。
    2. 不一定是网格的事,很可能是fvSolution 里面 Phi 的tolerance设置的太小了。或者也可能是 Phi 的solver 不合适,建议用 GAMG。
    3. 如果是算单相流,建议都用potentialFoam初始化一下。简单算例可能影响不大,但是如果网格复杂,有可能上来simpleFoam头几步就发散,用potentialFoam初始化一下很可能有改善。
    posted in OpenFOAM
  • RE: 为什么压力泊松方程离散后的矩阵是非对角占优的啊?

    @micro 你说的对,我上面对对流项的描述有问题。对流项得到的矩阵不一定是对角占优。跟离散格式有关,跟 phi 也有关系。
    对于泊松方程,我上面说的是不能得到严格对角占优的矩阵。严格对角占优指的是对角元素绝对值大于其他元素绝对值之和,下面你说的扩散项中间三个元素也满足对角占优,其实是弱对角占优,因为对角元素绝对值等于其他元素绝对值之和。

    posted in OpenFOAM
  • RE: 写给工程技术人员的 LaTeX 安装指南

    Ubuntu 下的安装

    手头没有 Ubuntu 的机子,所以这里在虚拟机中演示;考虑到用 Ubuntu 的用户中很多在终端环境(命令行)下工作,这里就尽可能在终端中完成各个步骤。

    需要管理员权限的地方会明确的用 sudo 指出来。

    挂载安装文件

    打开终端。首先,创建挂载的位置:

    sudo mkdir -p /tmp/texlive
    

    切换到下载文件所在的位置,比如你将 texlive.iso 下载到了 ~/Downloads 下,那么就首先切换到这里:

    cd ~/Downloads
    

    然后将安装包挂载到前面所创建的位置上去:

    sudo mount -o loop texlive.iso /tmp/texlive
    

    然后切换到 /tmp/texlive 目录下,就可以看到安装包里的所有内容了:

    cd /tmp/texlive
    ls  # 可以看到安装目录下的内容,其中 install-tl 是安装脚本
    

    如果你不想只用终端,则在图形界面(Ubuntu 下的 GNOME 桌面)中,打开文件管理器,对着安装包点右键,也会有挂载的选项;此时一般会把盘挂载到 /media/xxx/TeXLive2021 位置(xxx 是你的用户名),在文件管理器的左侧栏中可以看到,进入即可。

    image-20210513162107033

    运行安装脚本

    接下来就可以运行安装脚本 install-tl 了。这是一个 Perl 脚本,需要有 Perl 解释器才能运行,不过 Ubuntu 上默认装了有,不担心。假如你的 Ubuntu 上没有 Perl 环境,请先安装一下:

    sudo apt install perl
    

    然后就可以执行脚本了。需要考虑一下你的需求:

    • 如果你想给当前用户安装,安装在你的家目录(~,或者说 /home/xxx)下,那么不需要 sudo
    • 如果你想给所有用户安装,安装在系统目录(比如 /usr/local/opt/ 等等)下,那么就需要 sudo

    对新手来说,不用考虑太多,越安全越好。所以就不要 sudo 吧!直接安装在你的家目录里:

    ./install-tl
    

    如果发现找不到 install-tl,请检查一下所在位置是否正确!

    配置安装选项

    和 Windows 不同,Linux 下执行安装脚本时的配置界面限制在终端内,没有图形界面,如下图所示。

    image-20210513164210089

    注意一下上面用蓝字标出来的,由于前面启动安装脚本的时候没有 sudo,所以无法安装在它的默认安装位置 /usr/local/texlive/2021 下。因此,首先要做的事情是输入 <kbd>D</kbd> ,回车,修改安装目录,切换到下面这个界面:

    image-20210513164446457

    根据提示,按 1 再回车修改 TEXDIR 变量的值,这里我们把 /usr/local 整体替换为家目录 ~ 就好了:

    输入完成之后,回车,可以看到配置中的各项路径都跟着修改了:

    image-20210513164833391

    再输入 R,回车,返回最开始的界面;此时所有配置都没问题了,所以直接输入 I,回车,开始安装!

    image-20210513164954776

    跟 WIndows 上的情况差不多。可以注意到这里的模块数是 4164,比 Windows 上的还多几个。和 Windows 一样,耐心等待安装结束,过程中不要关掉终端(或在终端中杀掉当前进程)。等到出现「欢迎进入 TeX Live 的世界!」(或者其英语形式)的时候,说明安装成功,此时该进程应当就自动终止了。

    如果安装过程因意外中断,请首先清理安装目录:

    rm -rf ~/texlive
    

    然后再重新安装。

    配置环境

    安装结束时,会出现欢迎语;与 Windows 系统不同,请注意最后一段:

    image-20210513170353552

    这一段是说,请手工配置以下三个环境变量:

    • ~/texlive/2021/texmf-dist/doc/man 加入到 MANPATH 中;
    • ~/texlive/2021/texmf-dist/doc/info 加入到 INFOPATH 中;
    • ~/texlive/2021/bin/x86_64-linux 加入到 PATH 中(如果你安装在不是 x86_64 架构的机子上,最后一部分可能不太一样)

    前两个无所谓,大家现在都习惯于上网查资料;但若不配置最后一条,就无法从命令行正确启动 LaTeX 软件。所以,请通过以下命令将 TeX Live 的程序目录加入到环境变量中去:

    echo "export PATH=$PATH:~/texlive/2021/bin/x86_64-linux" >> ~/.bashrc
    

    如果你用的是 zsh 等其他的 shell,就加到它们自己的配置文件里去。关掉当前的终端,再重启;或者在当前的终端内 source ~/.bashrc。然后,检查一下 PATH 的值:

    image-20210513171140024

    可以看到,TeX Live 的安装目录已经出现在了 PATH 中。尝试运行一下 xelatex 程序:

    image-20210513171246429

    一切正常!现在就可以在命令行中使用各种 LaTeX 程序了。让我们用两句话生成一个 PDF 文档:

    echo '\documentclass{article}\\begin{document}Hello, world!\end{document}' > test.tex  # 生成一个最简单的 LaTeX 文档
    pdflatex test.tex  # 编译这个文档
    

    看看结果:

    image-20210513174053937

    这样就表明,我们的 TeX Live 已经在 Ubuntu 上正确安装了!安装过程到此结束。

    需要说明的是,TeX Live 在 Linux 上安装时不会附带安装 Windows 上有的 TeXWorks IDE。如果你想要配置一个用起来顺手的 LaTeX 编辑器,就需要自己再花些心思。这个属于安装以外的范畴了,不多讲。

    附录 1:安装过程常见问题

    欢迎各位读者补充!

    1. 安装路径中可以有中文吗?

      :最好不要有,在 Windows 系统下尤其如此。能避免就避免!安装过程中可能一切正常,但装好之后就可能出现各种问题,不得不通过重装解决。

    2. 以前安装的版本可以直接升级吗?

      :通常不行,一般的建议是:要么保留旧版本,安装新版本,然后把环境变量 PATH 指向最新的版本;要么先把旧版本删干净,然后再重新安装。如开头所言,TeX 软件历史悠久,所以很多方面的发展没有跟上时代潮流;有人喜欢这样,也有人不喜欢——尤其是新手们。

    3. 怎么配置编辑器 / IDE?推荐用哪些?

      :这个可以参考 install-latex-guide-zh-cn 中的第 5 节:使用编辑器,那里的介绍非常全面。

    附录 2:其他安装方式简介

    除了以上所介绍的通过安装包安装 TeX Live 的方式之外,还有以下一些方式:

    • 安装 MikTeX:直接到 MikTeX 官网 https://miktex.org/ 下载安装包,然后走一遍安装流程即可,这个过程要比 TeX Live 的安装容易很多、快很多;但是,正如前面所说的,MikTeX 的特点是:刚开始只安装很少的一些模块(总共几百 MB 左右),在以后的使用过程中自动安装其所发现的缺失模块——这个过程通常很麻烦,比如你的某一文档中有几十个模块没有安装,则 MikTeX 可能要反复运行好几次才能把所有的模块装齐,有时候可能还找不到相应的模块(比如你调用了某个字体模块,用的并不是 \usepackage 命令,MikTeX 就识别不了)。所以,除非你经验丰富,并且希望用运行时安装模块的时间来换一次性装齐所有模块的硬盘空间,否则不要选择这种方式。

    • 安装 ProTeXt:ProTeXt 是一套整合起来的工具,包括 MikTeX(提供 LaTeX 程序)、TeXStudio(IDE)、Sumatra PDF(阅读器)。只能在 Windows 上使用。安装过程基本上是图形界面,操作起来比较容易;但是使用的人似乎不多。下载地址:http://mirrors.ctan.org/systems/win32/protext/protext.zip

    • 通过 Linux 系统的包管理器:包括 Ubuntu、Fedora 在内的主流 Linux 发行版中都有 TeXLive 的软件包,比如 Ubuntu 上可以直接通过这个命令安装 TeX Live 完整版:

      sudo apt install texlive-full
      

      Fedora 上则是:

      sudo dnf install texlive
      

      这种方法的问题在于:发行版提供的 TeX Live 软件包一般比较旧,比如 Ubuntu 现在提供给 20.04 LTS 的版本是 TeX Live 2019,即使是以新著称的 Fedora 也只提供到 TeX Live 2020。如果你使用 Linux 系统,嫌以上的安装过程繁琐,或者想统一管理软件,可以采用这种方式。

    附录 3:怎么查看 TeX Live 自带的文档

    在环境变量已经正确配置的情况下(见前面的安装说明),在 Windows 系统下打开命令提示符 / 在 Linux 系统下打开终端,执行如下命令:

    texdoc xxx
    

    其中 xxx 是你要查找的模块名称,可以是:

    • 一个程序的名字,比如 texdoc xelatex 就会打开 xelatex 程序的说明书;
    • 一个文档类的名字,比如 texdoc thuthesis 就会打开清华大学学位论文 LaTeX 模板 thuthesis 的文档;
    • 一个宏包的名字,比如 texdoc geometry 就会打开用来调页面边距的 geometry 宏包的参考文档(这样你就不需要再在网上搜它的参数怎么设置了!);
    • 一个字体的名字,比如 texdoc fandol 就会打开 Fandol 中文开源字体的说明文档。

    当然可能还不限于上面几类。最常用应该是第三种,因为大家用 LaTeX 时经常为各种宏包的选项犯难,这时候通过 texdoc 命令查文档就比去网上漫无目的地搜索「经验」要快得多、好得多。

    当然,绝大多数文档都是英文的,这对于工程技术人员来说应该不算一个大困难。如果你一定想读中文文档,可以到这个地方找现有的一些文档的中文翻译版本。

    posted in C斯达克
  • RE: snappyHexMesh 画网格时可以并行吗?

    @stan同学 reconstructParMesh

    posted in OpenFOAM
  • RE: 领取任务免费赠送CFD中文网注册资格

    有几个人联系我了。东西大体上就是网上的东西凑到一起。丝毫看不到用心所在。让我怀疑这种方式领取邀请码是不是浪费我的审核时间。看来为了利益做工作,就是应付。只有真心想写出教程方便大家,才能写出好东西。

    如果给我发邮件,没回复。就表示你写的东西我没感到热度。

    posted in C斯达克
  • RE: 使用SSTkomega和laminar算出来的雷诺应力问题

    @fu 用湍流模型计算的时候,雷诺应力会分成两部分:模化+解析。 fieldAverage统计的只是解析的部分,也就是真实流体运动的应力。用Laminar的时候,模化的应力为零,所以显示的就是真实的应力;而用SST的时候,模化的应力占绝大多数,解析部分几乎为零。

    posted in OpenFOAM
  • RE: 网格变细后液面不正常

    @joann 那个太难debug了 跑不动..

    posted in OpenFOAM
  • RE: interFoam相方程里人工对流项在哪里?

    方程44 http://dyfluid.com/interFoam.html

    但实际上比这个要复杂。因为这个方程使用MULES进行求解。

    另外,这个方程里面,没法关闭对流项,不可能看扩散情况。

    posted in OpenFOAM
  • RE: 求分享带有foam-extend3.2以下的虚拟机 posted in OpenFOAM