- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
改进的空间高精度曲面建模-ad算法
1 改进的hism-ad算法
高精度曲线建模算法(ham)的研究始于20世纪80年代末。在冰斗形态建模中,首先应用于冰斗模型建模。在此基础上,我们成功应用了基于dem的多段模型理论。土壤属性空间模拟、气候因素空间模拟以及其他地理和生态领域的模拟。同时, 随着HASM理论的发展与完善, 各种HASM求解算法也相继提出, 如预处理共轭梯度法、多重网格算法、平差算法、自适应算法及基于GPU的HASM加速算法等, 但是, HASM计算效率一直没有得到明显的改善, 以预处理共轭梯度算法为例, 当计算规模为1000×1000时, 采用当前普通计算机的时间消耗接近3小时。计算速度的限制已经成为限制HASM理论进一步应用的瓶颈。
HASM计算耗时大的主要原因是该模型将曲面模拟问题转化为大规模方程组的求解, 因而不管采用何种迭代法, 都难以获得令人满意的计算速度。为了提高计算速度, 岳天祥等 (2010) 根据分组平差原理构建了HASM局部算法, 即HASM-AD算法。该算法将全局建立线性方程组求解问题转化为局部方程组建立求解, 一定程度上提高了模型的计算速度。但是, 后续的实验表明, 由于该算法需要在局部窗口中判断采样点信息, 当计算规模增加后重复的查找操作会使得计算时间急剧增加。
为了解决上述问题, 本文对现有的HASM-AD算法进行改进, 在分组平差计算原理的基础上, 通过在计算过程中为采样点添加索引信息, 避免了重复的查找操作而大幅提高计算速度。同时, 改进的HASM-AD算法在遍历独立计算单元的过程中, 计算第一类、第二类基本量及克式符号等变量, 降低了模型计算过程中的内存消耗。本文以全国陆地降水空间分布模拟为例, 验证了改进的HASM-AD算法在空间变量模拟研究中的适用性。
2 改进的哈m-ad算法
2.1 克式符号的计算
与其他HASM算法相比, HASM-AD算法可以看作是一种局部算法。该算法根据分组平差计算原理, 将计算区域划分为一系列相邻的5×5分析窗口, 称作独立计算单元 (图1) 。以中间3×3的格网点上真实值与初始值的差 (称作改正数) 作为未知数, 将高斯方程作为约束条件建立平差方程组, 并结合采样点信息 (如果当前5×5分析窗口中包含采样点) 建立最终的求解方程组 (式1) , 5×5分析窗口的边界点仅参与曲面基本量及克式符号的计算。
其中, vi(i=0, …, 8) 代表分析窗口内部解算格网点上的模拟变量的改正数, 作为方程组的未知数;fi, j是格网点上初始值, 由HASM模型的输入驱动场给出;是采样点值, 同样由HASM模型的输入采样点信息得到;E, G, L, M, N, Γ为曲面基本量和克式符号, 可由驱动场计算得到, 具体的计算表达式可参见参考文献。
在实际应用中, 可认为一个独立计算单元中至多包含一个采样点, 这样一个独立计算单元所建立的条件平差方程组是3阶 (独立计算单元中不包含采样点) 或4阶 (独立计算单元中包含采样点) 。因此, 无论是采用直接法还是普通迭代法求解, 计算量都很小, 可以提高计算速度并减小内存消耗。
当计算规模较小时, HASM-AD算法可以提高计算效率, 但是实验表明, 由于每个独立计算单元都需要进行采样点信息查找操作, 当计算规模增大时HASM-AD算法计算耗时也急剧增加。例如, 以个人计算机为例 (基于VS2010平台C++程序) , 当计算规模为1000×1000时, 预处理共轭梯度算法耗时为10 774s, 平差算法耗时为5741s, 但是, 当计算规模增加到1400×1400时, 预处理共轭梯度法消耗时间为20 746s, 而平差算法耗时则超过预处理共轭梯度算法, 达到了22 174s。因此, 本文对HASM-AD算法做了进一步改进, 旨在降低采样点查找操作带来的时间消耗, 从而整体上提高HASM模型的效率。
2.2 立计算单元的检索
本文对HASM-AD算法作了两处改进: (1) 为采样点添加索引信息, 避免在每个独立计算单元求解时都进行查找操作; (2) 根据HASM-AD分组算法的特点, 在分组计算过程中求解建立方程组所需要的第一类、第二类基本量及克式符号。这两处改进不仅显著提高了HASM-AD算法的运算速度, 也节省了计算过程中的内存空间需求, 下面进行详细说明。
2.2.1 采样点索引创建规则
图中黑色实心圆代表采样点, 空心三角形则代表包含该采样点的独立计算单元中心点, 其中, 左上角、右下角的独立计算单元用虚线框标出。当独立计算单元中包含采样点时, 为建立条件平差方程组, 还需要知道采样点在3×3计算格网中的次序, 以便决定条件平差方程组中第4个方程的非0系数。例如, 图2中左上角的空心三角形标注的数字“8”表示
原创力文档


文档评论(0)