julia - 在 DiffEqPhysics Julia 中进行一些收敛测试后终止 ode 的集成
问题描述
最近开始熟悉 Julia 的 DiffEqPhysics 和 DifferentialEquations 包。我想知道是否有办法(如回调函数)以一定的输出收敛条件终止求解器。例如,如果在前一步(或一系列先前步骤)中获得的结果与当前步骤的解没有阈值的差异,则在当前步骤之后结束该过程。
解决方案
是的,您可以使用回调来执行此操作。在回调中,doingterminate!(integrator)
将停止集成。在文档中,此示例更详细地显示了使用回调terminate!
。
TerminateSteadyState
但是,您可以从回调库中使用,而不是自己构建,而是在稳定状态下终止。回调库只是一组预先构建的回调,当导数足够小时,这个回调就会终止。
推荐阅读
- c++ - 文件for循环不打开文件c ++
- java - 如何在java awt中刷新框架的所有内容
- c# - 检查目录是否存在,如果不存在,则显示一个消息框,说明它不存在
- c# - 使用单个字典对象而不是多个方法参数(类似于 Main 方法中的 args[])
- github - 查找所有 GitHub Repo 部署密钥?
- token - 如何将访问令牌设置为在几秒钟内过期
- python - 使用 BeautifulSoup 抓取玩家数据
- python - Profile() 有一个意外的关键字参数“用户”
- node.js - NodeJS 和猫鼬 CastError: Cast to [ObjectId] failed for value
- javascript - 何时将作为参数分配的值传递给 setState 函数?