[发明专利]一种数学模型数值计算程序的验证方法无效
申请号: | 201010618793.5 | 申请日: | 2010-12-31 |
公开(公告)号: | CN102043759A | 公开(公告)日: | 2011-05-04 |
发明(设计)人: | 杨振虎;梁益华;周磊 | 申请(专利权)人: | 中国航空工业集团公司第六三一研究所 |
主分类号: | G06F17/13 | 分类号: | G06F17/13 |
代理公司: | 西安智邦专利商标代理有限公司 61211 | 代理人: | 商宇科 |
地址: | 710068 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数学模型 数值 计算 程序 验证 方法 | ||
技术领域
本发明涉及一种用于有数学模型的数值计算程序的正确性验证方法,特别是用于求解偏微分方程的大型程序的正确性验证。
背景技术
微分方程特别是非线性偏微分方程,由于数学目前发展水平的限制,一般来讲其解析解很难得到。这就对其数值求解程序的验证带来很大的不便。长期以来,对这些程序的考核主要有以下几种方法:高精度解方法或解析解方法;专家判断方法;进行程序与程序运行结果的对比的方法。后两种方法是建立可信度的方法,但它们不能代替严格的程序验证,同时由于高精度解有限,或难以简单表达,而且在很多情况下解析解只有在某些假设下才存在,这些假设往往使得方程中的某些项缺省,使得验证没有普遍意义。
发明内容
为了解决背景技术中所存在的技术问题,本发明提出了一种数学模型数值计算程序的验证方法,从逆向思维的观点出发构造出一组能满足程序验证要求的解析解,从程序实现精度阶来对程序进行验证,简化了程序测试,提供了大量的解析解。
本发明的技术解决方案是:一种数学模型数值计算程序的验证方法,其特殊之处在于:所述方法包括以下步骤:
1)确定程序求解的控制方程,假设该控制方程的边界条件;
2)确定步骤1)中控制方程的离散方法的理论收敛阶;
3)确定待测试的数学模型的所有分支程序;并根据边界条件判断控制方程是否适定分支程序,若适定,则进行步骤4);
4)确定控制方程的虚构解;
5)将虚构解输入控制方程的右端形成源项;
6)将源项加入原控制方程的右端,并完成计算程序的输入,得到控制方程的数值解;
7)判断数值解和虚构解的值是否一致,若一致,则进行步骤8);
8)进行网格细化来获得不同网格上的误差,并利用数值解计算控制方程的实际收敛阶;
9)将实际收敛阶和理论收敛阶进行对比,若实际收敛阶与理论收敛阶一致,则完成当前测试。
上述步骤7)中若数值解与虚构解不一致,则进行步骤10)查错并改正错误,查到错误并进行改正后,则返回步骤7)。
上述步骤9)若实际收敛阶和理论收敛阶不一致,则进行步骤10)查错并改正错误,查到错误并进行改正后,则返回步骤7)。
上述步骤9)之后还包括步骤11)判断是否需要确定新的虚构解,若是,则返回步骤4)继续。
上述步骤1)中控制方程的边界条件包括可压或不可压、有粘或无粘。
上述步骤8)中网格细化的具体方式是:对结构网格整数倍进行加密,对非结构网格对每个三角形单元的各边中点连线进行剖分细化。
上述步骤10)中实际收敛阶和理论收敛阶不一致的原因包括:测试公式或建立的测试存在的错误、计算精度阶在给定的时间、位置上存在错误、计算误差度量或实际精度存在错误或者收敛不完全。
本方法的优点:虚构解方法作为一种新的程序验证方法,它具有精确解方法等同的优点,具有很强的生命力,能严格的测试程序时间空间离散的正确性、边界条件、程序的编写和所做的一些坐标变换。换句话说,影响实际精度阶计算的地方都经过了测试。本方法实现起来比较简单,虚构解方法的最大优点在于简化了程序测试,提供了大量的解析解,能够避免网格收敛性测试方法中Richardson外推的不可靠性。
具体实施方式
参见图1,本发明提出了一种数学模型数值计算程序的验证方法,包括以下步骤:
1)确定程序求解的控制方程,假设该控制方程的边界条件;
2)确定步骤1)中控制方程的离散方法的理论收敛阶;
3)确定待测试的数学模型的所有分支程序;并根据边界条件判断控制方程是否适定分支程序,若适定,则进行步骤4);
4)确定控制方程的虚构解;
5)将虚构解输入控制方程的右端形成源项;
6)将源项加入原控制方程的右端并完成计算程序的输入,得到控制方程的数值解;
7)判断数值解和虚构解的值是否一致,若一致,则进行步骤8);若不一致,则进行步骤10)查错并改正错误;若找到错误并改正后,返回步骤7)继续进行;
8)进行网格细化来获得不同网格上的误差,并利用数值解计算控制方程的实际收敛阶;网格细化的具体方式是:对结构网格整数倍进行加密,对非结构网格对每个三角形单元的各边中点连线进行剖分细化;
9)将实际收敛阶和理论收敛阶进行对比,若实际收敛阶等于理论收敛阶,则程序完成,若实际收敛阶与理论收敛阶不一致,则进行步骤10);
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国航空工业集团公司第六三一研究所,未经中国航空工业集团公司第六三一研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010618793.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:多功能打火机
- 下一篇:电磁信号转换成三进制数的方法