Skip to content
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠
CFD中文网

CFD中文网

  1. CFD中文网
  2. Algorithm
  3. 对于新手来说,如何上手课本理论向计算机程序语言转换?

对于新手来说,如何上手课本理论向计算机程序语言转换?

已定时 已固定 已锁定 已移动 Algorithm
4 帖子 3 发布者 4.1k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • J 离线
    J 离线
    Juanyong
    写于 最后由 编辑
    #1

    目前一直使用商用软件,但是对于里面的很多内容一知半解。后面根据PPT自学了《数值传热学》1-6章(记得东岳老师说学前6章足够,后面为专题),但是对于如何将里面的公式转化为计算机语言完全一窍不通。
    课题组只有一两个做DNS,都是基于fortran。本人之前学的是C语言,所以希望有什么教材或者指导是用C/CPP实现编程讲解的。因为目前没打算使用Openfoam,所以相关内容没有看过。先前看过12 Steps to Navier–Stokes,但是因为python语言原因,很多内容完全也是看的一知半解,还有很大一部分时间花在了IDE上面。
    请问各位,如何利用C/CPP语言实现课本理论到计算机程序的转化?谢谢 @东岳

    1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    写于 最后由 编辑
    #2

    @Juanyong 在 对于新手来说,如何上手课本理论向计算机程序语言转换? 中说:

    但是对于如何将里面的公式转化为计算机语言完全一窍不通。

    不知道你C语言到什么程度,按照道理如果算法明白,编程求解应该不是大问题。就我个人而言,大部分在搞算法,算法搞通了,植入一般不会花费太长时间。

    目前对于矩形的结构网格,如果用C求解,基本上几十行代码就能搞定。给你举例子:比如网格长度、宽度,那肯定是这样定义:

    double length = 1.0;
    double height = 2.0;
    

    然后就是定义deltaX和deltaY:

    double deltaX = 0.1;//10个网格
    double deltaY = 0.1;//20个网格
    

    二维网格的变量定义可以采用数组:

    double U[10][20];
    double V[10][20];
    

    即使求解方程中,也是按照结构网格标识来做的,比如中心差分:

    U[5][6] = 0.5*(U[5+1][6] + U[5-1][6])
    

    结构网格变成求解非常简单。我觉得你唯一可能的就是不能沉下心来,自己动手搞一把?比如数值传热学中94页那个例子,手算都能算出来,这样的话,没有用C写不出来语言的道理啊

    我之前曾经想过写一个教程,类似12步求解N-S方程,只不过是用C语言写,但是这种写起来太麻烦了,写的太糙小白看不懂,写的太细很占用时间

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    bestucanB 1 条回复 最后回复
  • bestucanB 离线
    bestucanB 离线
    bestucan 版主 大神
    在 中回复了 李东岳 最后由 编辑
    #3

    fluid_cal.zip
    我们上流动仿真课时写的一维和二维传热的程序。
    看着是c++,其实就用了个cout。调整数据输出格式这点,cout写出来真长,还不会灵活运用。
    这是程序里算法的逻辑,其他的笔记丢失了,写的啥已经快看不懂了。
    2D.jpg
    3D.jpg

    滚来滚去……~(~o ̄▽ ̄)~o 滚来滚去都不能让大家看出来我不是老师么 O_o

    异步沟通方式(《posting style》from wiki)(下载后打开):
    https://www.jianguoyun.com/p/Dc52X2sQsLv2BRiqnKYD
    提问的智慧(github在gitee的镜像):
    https://gitee.com/bestucan/How-To-Ask-Questions-The-Smart-Way

    1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    写于 最后由 编辑
    #4

    是的,我觉得,本质上,还是应该走看书 - 手算 - 编程这个过程,如果看书直接去编程,可能理不清思路。

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    1 条回复 最后回复

  • 登录

  • 登录或注册以进行搜索。
  • 第一个帖子
    最后一个帖子
0
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]