摘要: 今天对程序大修了一下,顺便把所有算例测试了一遍,突然发现二维浅水方程有些算例出现了明显的错误。 这次突然出现的错误让我有点措手不及,因为一直没有修改过浅水方程求解器,所以这些算例很久没有测试过了。硬着头皮从斜率限制器,数值通量,计算项等等所有计算函数里面寻找 bug,但是找了一下午仍然一无所获。看哪 阅读全文
posted @ 2017-07-15 01:27 li12242 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 寒假期间在自己开发的模型DGOM里成功的用clapack替换了MKL,这里就介绍下遇到的几个坑,希望能够帮助别人少走弯路。 1. 调用clapack函数时注意整数类型为integer。 虽然clapack号称是c版本的lapack,实际只是为原始fortran函数添加了接口,所以调用参数的整数类型数 阅读全文
posted @ 2017-02-16 19:17 li12242 阅读(1114) 评论(1) 推荐(0) 编辑
摘要: 海洋模型控制方程 描述流体运动NS方程,海洋模型也是又NS方程简化而来, 1. 原始NS方程 $$\nabla \cdot u = 0$$ $$\begin{array}{l} \frac{\partial u}{\partial t} + \nabla\cdot(\vec{u}u) fv + bw 阅读全文
posted @ 2016-11-23 23:35 li12242 阅读(2210) 评论(0) 推荐(0) 编辑
摘要: BJ2 斜率限制器 本文介绍斜率限制器取自于 Anastasiou 与 Chan (1997)[^1]研究,其所利用的斜率限制器也是 Barth 与 Jespersen 限制器的一种修正形式,并且包含一参数 $\beta$ 控制限制器耗散性大小,我们这里将其称之为 BJ2 限制器。 限制器修正解形式 阅读全文
posted @ 2016-08-30 21:12 li12242 阅读(550) 评论(0) 推荐(0) 编辑
摘要: 节点型限制器 此节点型限制器参考自 Kuzmin (2010) [^1]研究,其主要通过修正 Barth Jespersen 限制器,使单元内数值解满足 $$u_e^{min} \le u(\mathbf{x}_i)\le u_e^{max}, \quad \forall i $$ 修正后的数值解形 阅读全文
posted @ 2016-08-30 20:23 li12242 阅读(346) 评论(0) 推荐(0) 编辑
摘要: Hermite WENO 单元重构 本文主要介绍采用 Hermite WENO 重构方法作为斜率限制器应用于二维或高维单元中。 1.简介[^1] ENO格式最早由 Harten 等[^2]提出,ENO格式避免在高梯度地区进行插值,其重构过程通过多个不同位置模板,并且选取其中最光滑模板上的解进行重构, 阅读全文
posted @ 2016-08-30 14:34 li12242 阅读(1216) 评论(0) 推荐(0) 编辑
摘要: TVB斜率限制器 本文参考源程序来自 "Fluidity" 。 简介 TVB斜率限制器最早由Cockburn和Shu(1989)提出,主要特点是提出了修正minmod函数 $$\tilde{m}(a_1, a_2, \cdots, a_n) = \left\{ \begin{array}{ll} a 阅读全文
posted @ 2016-08-22 00:05 li12242 阅读(1068) 评论(0) 推荐(0) 编辑
摘要: Matlab指针数组 前面博客 "Matlab指针" 中介绍了如何在Matlab中使用handle类型对象作为指针使用,本文则介绍一些使用这些类型指针的小技巧。 自定义类型的指针数组 在大部分编程语言中,我们都可以采用结构体来定义一些自定义类型。对于多个自定义类型的变量数据组合,我们可以采用指针指向 阅读全文
posted @ 2016-08-15 20:14 li12242 阅读(2893) 评论(0) 推荐(0) 编辑
摘要: Matlab混合编程 混合编程目的 在Matlab中采用混合编程目的主要包括 1. 利用已有的函数库,避免重复工作 2. 加速计算,特别是减少循环所用时间 3. 利用GPU等进行异构编程 混合编程方法—mex函数 目前已有的方法包括两种:(1)将c/Fortran源程序改写为mex函数,然后编译为二 阅读全文
posted @ 2016-08-15 17:24 li12242 阅读(1163) 评论(0) 推荐(0) 编辑
摘要: 参考自 "Implicit Surface Intersections Mike Garrity" 示例 绘制函数 $y x\cdot \mathrm{tan}(z) = 0$ 与圆柱 $x^2 + y^2 = 1$ 的交线。 一般绘制交线的方法有以下几种: 1. 寻找解析解, 2. 寻找交点,并且 阅读全文
posted @ 2016-07-24 09:57 li12242 阅读(658) 评论(0) 推荐(0) 编辑