当前位置: 首页 > ds >正文

Fortran语言,do-end do循环,相互包含测试,自动性能优化

1)上代码

    !$omp parallel private(n, j, dx, dy, dz, r, a)do n = 1, nsteps!$omp dodo i = 0, nparticles - 1x_tmp(i) = x(i) + vx(i) * dty_tmp(i) = y(i) + vy(i) * dtz_tmp(i) = z(i) + vz(i) * dtdo j = 0, nparticles - 1dx = x(j) - x(i)dy = y(j) - y(i)dz = z(j) - z(i)R = sqrt(dx ** 2 + dy ** 2 + dz ** 2 + softening)a = G * m(j) / R ** 3 * dtvx(i) = vx(i) + a * dxvy(i) = vy(i) + a * dyvz(i) = vz(i) + a * dzend dodo j1 = 0, nparticles - 1dx = x(j1) - x(i)end dodo j2 = 0, nparticles - 1dx = x(j2) - x(i)do j3 = 0, nparticles - 1dx = x(j3) - x(i)end doend doend do!$omp dodo i = 0, nparticles - 1x(i) = x_tmp(i)y(i) = y_tmp(i)z(i) = z_tmp(i)do j4 = 0, nparticles - 1dx = x(j4) - x(i)do j = 0, nparticles - 1dx = x(j) - x(i)end doend doend dodo j = 0, nparticles - 1dx = x(j) - x(i)end do!$omp masterprint *, "n =", ndo i = 0, nparticles - 1print *, i, ":", x(i), y(i), z(i)end do!$omp end masterend do!$omp end parallel

2)

循环对:

 [[8, 19, -100], [22, 24, -100], [29, 31, -100], [26, 32, -100], [3, 33, -100], [43, 45, -100], [40, 46, -100], [36, 47, -100], [49, 51, -100], [55, 57, -100], [1, 59, -100]]

3)下面这个结果有错

 [[8, 19, 4], [22, 24, 0], [29, 31, 3], [26, 32, 1], [3, 33, 10], [43, 45, 6], [40, 46, 7], [36, 47, 10], [49, 51, 10], [55, 57, 10], [1, 59, -1]]

4)这个才是对的。

 [[8, 19, 4], [22, 24, 4], [29, 31, 3], [26, 32, 4], [3, 33, 10], [43, 45, 6], [40, 46, 7], [36, 47, 10], [49, 51, 10], [55, 57, 10], [1, 59, -1]]

目前看起来是对的。

http://www.xdnf.cn/news/3908.html

相关文章:

  • qml显示视频帧(QQuickImageProvider)
  • 学习黑客红队模拟演练报告
  • SpringBoot的汽车商城后台管理系统源码开发实现
  • YOLOv7细节解读
  • Go语言实现Kafka消息队列
  • NaVILA: Legged Robot Vision-Language-ActionModel for Navigation
  • PHP的include和require
  • FGMRES(Flexible Generalized Minimal Residual)方法
  • 系统思考:核心价值与竞争力
  • 永磁同步电机控制算法--基于PI的位置伺服控制
  • C# 方法(返回值、返回语句和void方法)
  • 微服务框架选型
  • SpringMVC——第三章:获取请求数据
  • React--》掌握react构建拖拽交互的技巧
  • Linux ACPI - ACPI系统描述表架构(2)
  • 【Redis】Redis常用命令
  • 软件架构之旅(6):浅析ATAM 在软件技术架构评估中的应用
  • 蓝桥杯15届国赛 合法密码
  • 嵌入式系统基础知识
  • 【Hive入门】Hive与Spark SQL集成:混合计算实践指南
  • python使用cv2在图片上标点
  • Python语句类型与格式规范研究
  • RT-Thread studio的驱动5.1.0报错修改
  • c++学习
  • 算法笔记。质数筛算法
  • 一种实波束前视扫描雷达目标二维定位方法——论文阅读
  • 短信登录功能实现(黑马点评)
  • 高中数学联赛模拟试题精选学数学系列第6套几何题
  • QT —— QWidget(1)
  • 白皮解读:数据流通关键技术白皮书【附全文阅读】