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.pswp.cn/news/904140.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/904140.shtml
英文地址,請注明出處:http://en.pswp.cn/news/904140.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Cona編譯問題

問題描述 Clion 使用conan插件配置了C工程,然后想通過命令行進行編譯執行。 出現以下錯誤 CMake Error at /usr/local/Cellar/cmake/3.30.1/share/cmake/Modules/CMakeDetermineSystem.cmake:152 (message):Could not find toolchain file: conan_toolchain.cmake…

Qt實現 hello world + 內存泄漏(5)

文章目錄 實現hello world的兩種方式通過圖形化的方式通過純代碼的方式1. 新老頭文件的說明2.堆或棧上創建對象的選擇3.QString的說明 內存泄漏問題 實現hello world的兩種方式 通過圖形化的方式 通過圖形化的方式,在界面上創建出一個控件,顯示出hello …

【翻譯、轉載】【譯文】模型上下文協議(Model Context Protocol, MCP)簡介

原文地址: https://michaelwapp.medium.com/model-context-protocol-mcp-an-introduction-guide-25736f3dd672 在人工智能和 AI 驅動應用日新月異的格局中,一種與大型語言模型(LLM)交互的新方式正在興起。隨著 AI 智能體&#x…

[方法論]軟件工程中的軟件架構設計:從理論到實踐的深度解析

文章目錄 軟件架構設計:從理論到實踐的深度解析引言一、軟件架構設計的核心目標體系1.1 質量屬性矩陣1.2 架構權衡藝術 二、架構設計方法論演進2.1 傳統設計范式2.2 現代架構方法論2.3 設計模式演化路徑 三、主流架構風格全景圖3.1 單體架構(Monolithic&…

【win11 】win11 鍵盤測試

我的鍵盤是支持mac和win的,fn tab 就能切換,有可能是用錯了模式,導致 我alt a 就會彈出 win11的 wifi 等菜單控制 鍵盤測試網站 https://keyboard.bmcx.com/ 識別到我按下的是alt

Linux環境部署iview-admin項目

環境:阿里云服務 系統:CentOS7.X系統 1、下載源碼安裝包 wget https://nodejs.org/dist/v14.17.3/node-v14.17.3-linux-x64.tar.xz2、解壓并放入指定目錄 tar -xf node-v14.17.3-linux-x64.tar.xz && mv node-v14.17.3-linux-x64 /usr/local/no…

VSCode常用插件推薦

文章目錄 VSCode常用插件推薦1 Git相關插件2 代碼格式3 AI工具4 語言插件通用工具參考 VSCode常用插件推薦 1 Git相關插件 2 代碼格式 3 AI工具 4 語言插件 通用工具 參考 50 個 VSCode 必裝插件推薦 https://mp.weixin.qq.com/s/b_OKvg3hdavtnv7pbWcKWg

【Unity】使用XLua進行熱修復

準備工作: (1)將XLua的Tool拖入Asset (2)配置熱修復 (3)運行Genrate Code (4)運行Hotfix Inject In Editor 編寫腳本(注意類上帶有[Hotfix]) [Hot…

javaEE——單例模式

目錄 前言1.概念2. 實現3. 比較和改進總結 前言 本篇文章來介紹單例模式,并講述在保證線程安全的前提下,單例模式的寫法。 1.概念 單例模式是一種設計模式,可以說是寫代碼的一種模板,如果在一些固定的場景下按照設計模式進行寫…

TS 對象類型

給對象添加類型注解 ![在這里插入圖片描述(https://i-blog.csdnimg.cn/direct/6c413992c11142d88106633ec442b905.png) 格式:數據類型名:類型別名 注意:對象類型限制使用分號,如果對象中存在方法就寫成:方法(&#x…

C++類_虛基類

在 C 里,虛基類是用來解決菱形繼承問題的。菱形繼承問題是指當一個派生類從兩個或更多基類派生,而這些基類又從同一個基類派生時,派生類會包含多份間接基類的數據副本,這可能會引發數據冗余和二義性問題。虛基類可以保證在派生類中…

詳細案例,集成算法

以下是一個使用 隨機森林(RF) 和 XGBoost 解決結構化數據分類問題的完整案例(以泰坦尼克號生存預測為例),包含數據處理、建模和結果分析: 案例:泰坦尼克號乘客生存預測 目標:根據乘客…

《C#數據結構與算法》—201線性表

線性表的實現方式 順序表 線性表的順序存儲是指在內存中用一塊地址連續的空間依次存放線性表的數據元素,用這種方式存儲的線性表叫順序表。 特點:表中相鄰的數據元素在內存中存儲位置也相鄰。 順序表接口實現: 方法名參數返回值描述GetLen…

深入解析C++11委托構造函數:消除冗余初始化的利器

一、傳統構造函數的痛點 在C11之前,當多個構造函數需要執行相同的初始化邏輯時,開發者往往面臨兩難選擇: class DataProcessor {std::string dataPath;bool verbose;int bufferSize; public:// 基礎版本DataProcessor(const std::string&am…

LeetCode 熱題 100 189. 輪轉數組

LeetCode 熱題 100 | 189. 輪轉數組 大家好,今天我們來解決一道經典的算法題——輪轉數組。這道題在LeetCode上被標記為中等難度,要求我們將數組中的元素向右輪轉 k 個位置。下面我將詳細講解解題思路,并附上Python代碼實現。 問題描述 給定…

GAEA商業前景和生態系統擴展

GAEA情感坐標系不僅增強了AI對人類情感的理解,也為Web3生態注入了新的活力。通過去中心化的數據存儲和共享,GAEA構建了一個開放透明的數據市場,為AI訓練提供了優質的數據源。同時,貢獻數據的用戶將獲得靈魂積分(SOUL P…

[原創](現代Delphi 12指南):[macOS 64bit App開發]: [2]如何使用跨平臺消息框?

[作者] 常用網名: 豬頭三 出生日期: 1981.XX.XX 企鵝交流: 643439947 個人網站: 80x86匯編小站 編程生涯: 2001年~至今[共24年] 職業生涯: 22年 開發語言: C/C++、80x86ASM、Object Pascal、Objective-C、C#、R、Python、PHP、Perl、 開發工具: Visual Studio、Delphi、XCode、…

js逆向繞過指紋識別

??一、兼容性說明?? 官方支持 curl_cffi 明確支持 Windows 平臺,并提供了預編譯的安裝包。其核心功能(如瀏覽器指紋模擬、HTTP/2 支持)在 Windows 上與 Linux/macOS 表現一致。 版本要求 ? Python 3.8 及以上版本(推薦 Pyth…

聊聊對Mysql的理解

目錄 1、Sql介紹 1.1、SQL的分類 1.2、數據庫的三大范式 1.3、數據表的約束 1.4、約束的添加與刪除 2、核心特性 3、主要組件 4、數據結構原理 5、索引失效 6、常用問題 7、優勢與局限 前言 MySQL是一個開源的關系型數據庫管理系統(RDBMS),由瑞典MySQL A…

[HOT 100] 1617. 統計子樹中城市之間最大距離

文章目錄 1. 題目鏈接2. 題目描述3. 題目示例4. 解題思路5. 題解代碼6. 復雜度分析 1. 題目鏈接 1617. 統計子樹中城市之間最大距離 - 力扣(LeetCode) 2. 題目描述 給你 n 個城市,編號為從 1 到 n 。同時給你一個大小為 n-1 的數組 edges &…