耦合计算方法和耦合计算系统的制作方法_3

文档序号:9200343阅读:来源:国知局
立计算模块中每个独立计算模块分别对应的 第一自变量,将每个第一自变量分别传输至对应的独立计算模块;
[0070] 多个独立计算模块中的每个独立计算模块将第一自变量代入对应的待求解方程 计算对应的残差,将第一自变量代入自动微分方法计算待求解方程在第一自变量处的导 数,将残差和导数传输至耦合计算服务模块;
[0071] 耦合计算服务模块还用于根据接收到的多个导数生成雅克比矩阵,根据雅克比 矩阵和接收到的多个残差计算得到多个第二自变量,将每个第二自变量传输至对应的独立 计算模块;
[0072] 独立计算模块还用于判断第二自变量是否为对应的待求解方程的解,若是对应的 待求解方程的解,则输出对应的待求解方程的解,若不是对应的待求解方程的解,则根据第 二自变量计算残差和相应导数,
[0073] 其中,耦合计算服务模块根据第二自变量对应的残差和导数计算第三自变量,直 至得到的自变量为对应的待求解方程的解。
[0074] 优选地,每个独立计算模块中存储有对应的待求解方程,耦合计算服务模块中未 存储有对应的待求解方程。
[0075] 优选地,雅克比矩阵为f'(Xn),则步骤S3中根据雅克比矩阵和接收到的多个残差 计算得到多个第二自变量包括:
[0076] 根据公式
计算第二自变量,
[0077] 其中,XnS第一自变量,X n+1为第二自变量,f (Xn)为残差。。
[0078] 近年来,随着计算机硬件的发展,数值计算软件数量急剧增长。绝大多数计算软件 只能求解某个特定物理场的方程,例如流体运动场、温度场、中子物理场或者磁场等。如果 某个应用场景存在多个物理场的相互作用,就需要对多个数值计算软件进行耦合求解,这 样的需求是广泛存在的。由于多个数值计算软件是互相独立开发的,因此在求解时缺少彼 此之间的方法配合。现有技术存在计算效率低、稳定性差的缺点。本发明说所提供的计算 方法和相应计算系统能极大提高现有技术的计算效率和稳定性,对于多物理场耦合求解应 用具有很高的实用价值。
[0079] 以上结合附图详细说明了本发明的技术方案,考虑到相关技术中,根据公式
计算得到的导数f'(Xn)的精度非常低,耦合计算服务模 块需要经过很多次牛顿迭代才能实现多个数值计算软件的耦合求解,甚至经常出 现无法完成求解的情况。通过本申请的技术方案,耦合计算服务模块无需根据公式
计算每个独立计算模块对应的待求解方程在第一自变量处的导 数,该导数由每个独立计算模块分别计算,而且每个独立计算模块通过采用自动微分方法 计算导数,可以得到精度很高的计算结果,从而在将得到的导数传输至耦合计算服务模块, 可以使耦合计算服务模块在很大程度上减少后续迭代次数,并使得耦合计算服务模块的计 算稳定性得到极大提高。
[0080] 在本发明中,术语"第一"、"第二"、"第三"仅用于描述目的,而不能理解为指示或 暗示相对重要性。术语"多个"指两个或两个以上,除非另有明确的限定。
[0081] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技 术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修 改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1. 一种親合计算方法,其特征在于,包括: S1,耦合计算服务模块随机生成多个独立计算模块中每个独立计算模块分别对应的第 一自变量,将每个第一自变量分别传输至对应的独立计算模块; 52, 每个所述独立计算模块将所述第一自变量代入对应的待求解方程计算对应的残 差,将所述第一自变量代入自动微分方法计算所述待求解方程在所述第一自变量处的导 数,将所述残差和所述导数传输至所述耦合计算服务模块; 53, 所述耦合计算服务模块根据接收到的多个导数生成雅克比矩阵,根据所述雅克比 矩阵和接收到的多个残差计算得到多个第二自变量,将每个第二自变量传输至对应的独立 计算模块; 54, 所述独立计算模块判断所述第二自变量是否为对应的待求解方程的解,若不是对 应的待求解方程的解,则循环所述步骤S2和S3,直至计算得到自变量为对应的待求解方程 的解,若是对应的待求解方程的解,则输出对应的待求解方程的解。2. 根据权利要求1所述的耦合计算方法,其特征在于,每个所述独立计算模块中存储 有对应的待求解方程,所述耦合计算服务模块中未存储有对应的待求解方程。3. 根据权利要求1或2所述的耦合计算方法,其特征在于,所述雅克比矩阵为f'(xn), 则所述步骤S3中根据所述雅克比矩阵和接收到的多个残差计算得到多个第二自变量包 括: 根据公式「计算第二自变量, 其中,xnS第一自变量,xn+1为第二自变量,f(xn)为残差。4. 一种耦合计算系统,其特征在于,包括: 耦合计算服务模块和多个独立计算模块, 所述耦合计算服务模块随机生成多个独立计算模块中每个独立计算模块分别对应的 第一自变量,将每个第一自变量分别传输至对应的独立计算模块; 所述多个独立计算模块中的每个独立计算模块将所述第一自变量代入对应的待求解 方程计算对应的残差,将所述第一自变量代入自动微分方法计算所述待求解方程在所述第 一自变量处的导数,将所述残差和所述导数传输至所述耦合计算服务模块; 所述耦合计算服务模块还用于根据接收到的多个导数生成雅克比矩阵,根据所述雅克 比矩阵和接收到的多个残差计算得到多个第二自变量,将每个第二自变量传输至对应的独 立计算模块; 所述独立计算模块还用于判断所述第二自变量是否为对应的待求解方程的解,若是对 应的待求解方程的解,则输出对应的待求解方程的解,若不是对应的待求解方程的解,则根 据第二自变量计算残差和相应导数, 其中,所述耦合计算服务模块根据第二自变量对应的残差和导数计算第三自变量,直 至得到的自变量为对应的待求解方程的解。5. 根据权利要求4所述的耦合计算系统,其特征在于,每个所述独立计算模块中存储 有对应的待求解方程,所述耦合计算服务模块中未存储有对应的待求解方程。6. 根据权利要求4或5所述的耦合计算系统,其特征在于,所述雅克比矩阵为f'(xn), 则所述步骤S3中根据所述雅克比矩阵和接收到的多个残差计算得到多个第二自变量包 括: 根据公式计算第二自变量, 其中,xnS第一自变量,xn+1为第二自变量,f(xn)为残差。
【专利摘要】本发明涉及一种耦合计算方法和系统,该方法包括:耦合计算服务模块随机生成多个第一自变量,将每个第一自变量分别传输至对应的独立计算模块;独立计算模块计算对应的残差,根据自动微分方法计算待求解方程在第一自变量处的导数;耦合计算服务模块计算得到多个第二自变量;独立计算模块判断第二自变量是否为对应的待求解方程的解,若不是,则循环计算,直至计算得到自变量为对应的待求解方程的解,若是,则输出该解。其中每个待求解方程在第一自变量处的导数,由每个独立计算模块根据自动微分方法分别计算,可以得到精度很高的计算结果,在很大程度上减少耦合计算服务模块的后续迭代次数,使得耦合计算服务模块的计算稳定性得到极大提高。
【IPC分类】G06F17/11
【公开号】CN104915325
【申请号】CN201510245403
【发明人】孙喜明, 石磊, 董玉杰, 李富, 马远乐
【申请人】清华大学
【公开日】2015年9月16日
【申请日】2015年5月14日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1