一种基于区域分解的大规模风电场流场计算方法和装置

文档序号:37588523发布日期:2024-04-18 12:18阅读:9来源:国知局
一种基于区域分解的大规模风电场流场计算方法和装置

本发明涉及风力发电,特别是涉及一种基于区域分解的大规模风电场流场计算方法和装置。


背景技术:

1、在复杂地形山区进行风电场开发前,设计人员通常会采用成本低、实施周期短的cfd(computational fluid dynamics, 计算流体力学)数值模拟技术对微观尺度下的复杂地形的流场进行仿真,获取平均风速、风能密度等关键参数,用于风资源评估和指导微观选址。随着开发风电场规模逐渐扩大,导致风电场地形范围越来越大,若要较为精确地捕捉复杂地形流场的特征,网格分辨率一般小于30m,这导致整个风电场计算网格量高达几十亿。如此规模的cfd计算任务由于巨大的内存和存储需求只能交由超级计算进行大规模的并行计算,这大大提高了风资源评估的技术门槛和计算成本,导致设计人员无法在常见的工作站上完成此类型的风电场cfd计算任务。


技术实现思路

1、本发明的目的是为了提供一种基于区域分解的大规模风电场流场计算方法和装置,通过借鉴大规模并行计算所使用的分区交界面通信技术,采用上游分区流场插值到下游分区入流边界条件的方式,实现上下游流场信息的传递,使得设计人员能够在一台计算资源有限的工作站上完成对大规模风电场的流场分析,节约计算资源和成本。

2、为实现上述技术目的,本发明采取的技术方案为:

3、第一方面,本发明公开了一种基于区域分解的大规模风电场流场计算方法,所述大规模风电场流场计算方法包括以下步骤:

4、步骤1、根据风电场大小选取东西方向x和南北方向y的分段数和重叠区域宽度;

5、步骤2、根据各分区边界点对地形进行裁剪,采用块网格生成算法对各区域地形进行结构化四边形网格生成,再采用拉伸算法对下垫面四边形网格沿高度方向z进行拉伸,生成六面体网格;

6、步骤3、根据扇区计算条件确定各分区的上下游依赖关系;

7、步骤4、根据分区上下游依赖关系开始cfd(computational fluid dynamics, 计算流体力学)计算,同时提取上游流场信息插值到下游入流边界条件;

8、步骤5、采用最近邻插值算法对重叠区域流场进行插值计算,得到最终全场计算结果。

9、进一步地,步骤1中,根据风电场大小选取东西方向x和南北方向y的分段数和重叠区域宽度的过程包括以下步骤:

10、导入地形文件,根据实际计算需求设置全部地形或者部分地形作为总计算域;再设置横向和纵向分割区域数量及子计算区域之间的重叠区域宽度,确定每个子计算区域在整个风电场中的相对位置关系,按照从西至东,从北到南的顺序对所有子计算区域进行编号,子计算域之间重合区域占子计算域大小的比例满足预设比例范围。

11、进一步地,步骤1中,预设比例范围为25%±1%

12、进一步地,步骤2中,生成六面体网格的过程包括以下步骤:

13、针对地形文件进行x、y方向上的均匀采样,通过块网格生成器生成棋盘状的四边形面网格,生成网格分辨率为30m;

14、通过openfoam中的extrude2dmesh工具,根据z方向设置的网格数和拉伸倍率生成贴合地形的六面体网格。

15、进一步地,步骤3中,在生成每个扇区入流工况下的子计算域计算队列时,根据扇区方向提前计算好各子计算域之间计算依赖关系,每次提取对上游子计算域依赖的物理场值作为当前子计算域的边界条件输入,提取物理场值的步数间隔根据每个工况的计算步数来动态调整。

16、进一步地,步骤3中,根据扇区计算条件确定各分区的上下游依赖关系的过程包括以下步骤:

17、从最顶角的子计算域开始,按照风向确定各子计算域的上下游依赖关系,将每个子计算域内与邻居子计算域的边界物理场值进行提取,作为下一个子计算域的入流边界条件,每个子计算域在数据提取和数据依赖存在三种情况:

18、1)只被东西向某一侧子计算域依赖或提取;

19、2)只被南北某一侧子计算域依赖或提取;

20、3)被东南、西北、东北、西南任意两侧子计算域依赖或提取。

21、进一步地,步骤4中,采用openfoam开源计算流体力学软件包中的simplefoam作为流场求解器,利用functionobjects中的surface工具提取上游子计算域中的截面流场信息,按照固定时间进行输出保存。

22、进一步地,步骤5中,采用最近邻插值算法对重叠区域流场进行插值计算,得到最终全场计算结果的过程包括以下步骤:

23、利用相邻子计算域重叠区的数值计算结果,通过最近邻插值算法获得不同子计算域中各变量值的关联关系,利用关联关系对各子计算域中不同网格的流场变量值进行校准;再将全风场范围内各个子计算域重叠区域的流场变量值进行修正;最后通过vtk开源软件包生成拼接融合后的全流场计算结果。

24、第二方面,本发明公开了一种基于区域分解的大规模风电场流场计算装置,所述大规模风电场流场计算装置包括:

25、子计算域设置模块,用于根据风电场大小选取东西方向x和南北方向y的分段数和重叠区域宽度;

26、网格生成模块,用于根据各分区边界点对地形进行裁剪,采用块网格生成算法对各区域地形进行结构化四边形网格生成,再采用拉伸算法对下垫面四边形网格沿高度方向z进行拉伸,生成六面体网格;

27、依赖关系确定模块,用于根据扇区计算条件确定各分区的上下游依赖关系;

28、cfd计算模块,用于根据分区上下游依赖关系开始cfd计算,同时提取上游流场信息插值到下游入流边界条件;

29、全流场计算模块,用于采用最近邻插值算法对重叠区域流场进行插值计算,得到最终全场计算结果。

30、第三方面,本发明公开了一种计算机可读存储介质,所述的计算机可读存储介质存储有计算机程序,所述的计算机程序被处理器执行时,实现前述的方法步骤。

31、与现有技术相比,本发明的有益效果如下:

32、本发明的基于区域分解的大规模风电场流场计算方法和装置,能够满足在有限计算资源情况下对大规模风电场进行流场分析,采用“分而治之”的分区计算策略,插值拼接最终得到的流场结果与单域求解计算基本一致,满足风资源评估要求,从而有效解决大规模风电场数值分析计算资源不足的问题。经与单域cfd计算结果比较发现,本发明方法所得到的结果体现了良好的计算精度,且能够有效地反映水平方向流场速度特性,满足在单台台式机上对大规模风电场的风资源评估需求。



技术特征:

1.一种基于区域分解的大规模风电场流场计算方法,其特征在于,所述大规模风电场流场计算方法包括以下步骤:

2.根据权利要求1所述的基于区域分解的大规模风电场流场计算方法,其特征在于,步骤1中,根据风电场大小选取东西方向x和南北方向y的分段数和重叠区域宽度的过程包括以下步骤:

3.根据权利要求2所述的基于区域分解的大规模风电场流场计算方法,其特征在于,步骤1中,预设比例范围为25%±1%。

4.根据权利要求1所述的基于区域分解的大规模风电场流场计算方法,其特征在于,步骤2中,生成六面体网格的过程包括以下步骤:

5.根据权利要求1所述的基于区域分解的大规模风电场流场计算方法,其特征在于,步骤3中,在生成每个扇区入流工况下的子计算域计算队列时,根据扇区方向提前计算好各子计算域之间计算依赖关系,每次提取对上游子计算域依赖的物理场值作为当前子计算域的边界条件输入,提取物理场值的步数间隔根据每个工况的计算步数来动态调整。

6.根据权利要求1所述的基于区域分解的大规模风电场流场计算方法,其特征在于,步骤3中,根据扇区计算条件确定各分区的上下游依赖关系的过程包括以下步骤:

7.根据权利要求1所述的基于区域分解的大规模风电场流场计算方法,其特征在于,步骤4中,采用openfoam开源cfd软件包中的simplefoam作为流场求解器,利用functionobjects中的surface工具提取上游子计算域中的截面流场信息,按照固定时间进行输出保存。

8.根据权利要求1所述的基于区域分解的大规模风电场流场计算方法,其特征在于,步骤5中,采用最近邻插值算法对重叠区域流场进行插值计算,得到最终全场计算结果的过程包括以下步骤:

9.一种基于区域分解的大规模风电场流场计算装置,其特征在于,所述大规模风电场流场计算装置包括:

10.一种计算机可读存储介质,其特征在于,所述的计算机可读存储介质存储有计算机程序,所述的计算机程序被处理器执行时,实现权利要求1-8任意一项所述的方法步骤。


技术总结
本发明公开了一种基于区域分解的大规模风电场流场计算方法,包括:根据风电场大小选取东西方向X和南北方向Y的分段数和重叠区域宽度;根据各分区边界点对地形进行裁剪,采用块网格生成算法对各区域地形进行结构化四边形网格生成,再采用拉伸算法对下垫面四边形网格沿高度方向Z进行拉伸,生成六面体网格;根据扇区计算条件确定各分区的上下游依赖关系;根据分区上下游依赖关系开始CFD计算,同时提取上游流场信息插值到下游入流边界条件;采用最近邻插值算法对重叠区域流场进行插值计算,得到最终全场计算结果。本发明可以满足在有限计算资源情况下对大规模风电场进行流场分析。

技术研发人员:宋翌蕾,田琳琳,赵宁,马国林,肖鹏程,朱春玲,陆夕云
受保护的技术使用者:南京航空航天大学
技术研发日:
技术公布日:2024/4/17
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1