petsc - 如何仅从根处理器调用 PetscFinalize?
问题描述
在我的 Fortran 程序中,我只在根处理器调用外部函数。我进行了一些检查以确保该功能正常工作。如果它不起作用,那么我stop
程序并调用PetscFinalize
. 例如:
if(rank==0) then
call_status = external_function(x)
! function failed
if (call_status/=1) then
write(6,*) "external_function failed"
call PetscFinalize(ierr)
stop
end if
end if
但是,我注意到在运行时,如果出现错误external_function
,程序会挂起并且没有正确完成。
我的问题是:在根处理器处终止程序的适当方法是什么?
解决方案
调用退出。PetscFinalize(ierr) 不是为停止程序而设计的。
推荐阅读
- reactjs - 渲染时目标容器不是 DOM 元素
- c# - Blazor 以单向方式将值绑定到“输入日期”
- javascript - react-data-grid 中的基本过滤
- ruby - Vagrant 不提供堆栈
- javascript - 按年份对 Json 数据进行分组,以便使用 amchart 创建堆积条形图
- javascript - 节点应用程序不在远程服务器上运行,在 PC 上运行
- javascript - chrome 扩展 - 根据幻数获取文件类型
- actions-on-google - 谷歌操作:SignIn 中的建议筹码
- linux - 从 s3cmd 上传中排除“#recycle”目录
- cassandra - 有什么理由不删除 cassandra 默认用户?