Warning: file(datafile/online) [function.file]: failed to open stream: No such file or directory in /home/all2one/public_html/bbs/topic.php on line 200
阳光精品论坛 > 『 CFD 专栏 』 > 采用C++编制CFD程序时三维数组的建立方法
 
欢迎您,客人:高级登录 | 注册 | 取回密码 新贴 | 发帖 | 会员 | 搜索 | 帮助

阳光精品论坛 >> 『 CFD 专栏 』 >> 采用C++编制CFD程序时三维数组的建立方法本主题已阅读2002次,回复0
发表一个新主题 回复贴子
批量引用回复把本贴加入论坛收藏夹向管理员报告帖子问题
作者 | 本页主题: 采用C++编制CFD程序时三维数组的建立方法 上一个主题:GEOM Tutorials 1-4 下一个主题:流固耦合的两种方式  
even2004 

 
 究级天王 [荣誉]
信息:坛主标志 该用户目前离线
来自:未填 align=absmiddle
发贴:1239 贴 查找所有我发的帖子
积分:244
货币:5814 阳光币
注册时间:2008/12/31
 查看会员个人资料资料 将其加入好友列表好友 发短信息消息 引用回复这个贴子引用直接回复贴子回复

采用C++编制CFD程序时三维数组的建立方法


本人打算用C++编制CFD分析程序,对于三维问题,需要用三维数组来记录每个流场网格上
的流动数据。目前我知道的有三种方法:
其一是用一维数组加偏移地址的方法,每一个三维网格点可以用网格块编号和ijk指标来计算其在一维数组中的偏移地址,但这样太麻烦,随时都要计算偏移地址;

其二是定义三级指针double ***a,然后a=new double**[n],a=new double*[n],a[j]=new double[n],这种方法在建立数组a[][][]的同时建立了二维指针数组a[][](实际上数值计算时用不
到这个数组),个人觉得浪费空间;

第三种方法是采用容器的办法,vector   >   vecInt(m,   vector (n)),这种办法看似方便,实际上对于CFD计算,其效率显著低于数组。请问哪位达人可以提供一种高效的且省内存的操作方便的方法来建立三维数组?


修改贴子编辑 |  发表于 2010/09/06/07:39  |  1 层 

发表一个新主题 回复贴子 推荐给朋友 可打印版本 文章模式 
论坛跳转:


  快速回复  

文章内容:

HTML 代码不可用


BMB代码选项:
[img] - 开启
[flash] - 开启
[size] - 开启

上传附件[还可传0个]:
开启

最大字节: 200000 字节
最少发帖: 20 篇

标题:


  [使用 Ctrl+Enter 直接提交贴子]

你的用户名  你的密码: 忘了密码?

阳光精品论坛 >> 『 CFD 专栏 』 >> 采用C++编制CFD程序时三维数组的建立方法本主题已阅读2002次,回复0



本论坛言论纯属发表者个人意见,与 阳光精品论坛 立场无关 联系我们
Powered by BMForum v5.0 Skin by Bob Shen