许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  Adams函数调用次数和子程序调用次数啥关系?性能影响

Adams函数调用次数和子程序调用次数啥关系?性能影响

阅读数 4
点赞 0
article_banner


Function Evaluations 是求解器对 “完成一次动力学方程计算” 的宏观统计,包含多次子函数调用;

sfosub的计数是代码层面的微观调用次数,会因积分校正、雅可比计算、收敛检查等被重复触发;

前者是求解器层面的计算统计,后者是代码层面的函数调用计数,范围和统计维度完全不同。

Adams 求解器在计算动力学方程(统计 1 次 Function Evaluation)时,并非只调用 1 次sfosub,而是会因以下原因多次调用:

(1)积分算法的 “迭代 / 校正” 需求

Adams 的隐式积分算法(如 Gear 法)是预测 - 校正模式:

第一步(预测):调用sfosub计算力,预测系统的位移 / 速度;

第二步(校正):基于预测结果,再次调用sfosub重新计算力,验证并修正结果;

这个过程中,哪怕最终统计为 1 次 Function Evaluation,sfosub可能已被调用 2~3 次。

Adams函数调用次数和子程序调用次数啥关系

(2)雅可比矩阵计算的额外调用

求解非线性动力学方程时,求解器需要计算力对位移 / 速度的偏导数(雅可比矩阵),常用的有限差分法会:

先调用sfosub计算原始力(f);

给位移 / 速度加一个微小增量(Δq),再调用sfosub计算增量后的力(f+Δf);

通过 (f+Δf - f)/Δq 得到偏导数;

这一步会让sfosub的调用次数至少翻倍,而这些都被求解器归为 “1 次 Function Evaluation”。

(3)收敛性检查的重复调用

如果单次计算的力 / 位移不满足收敛精度,求解器会:

调整步长 / 参数后,重复调用sfosub重新计算;

直到满足收敛条件,才将这一系列计算归为 1 次 Function Evaluation。


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空