fortran95

    1熱度

    2回答

    我目前正在並行使用OpenMP Fortran語言編寫的一些多重網格代碼,我發現,OpenMP的調度條款作出對性能有很大的影響。回想一下,OpenMP調度子句是靜態的,動態的,運行時和引導的,它們決定了循環中的工作如何在線程之間分配。例如,將OpenMP並行SAXPY環路與調度子句將如下所示: !$OMP Parallel Do Schedule(Static) Do i=1,n z(

    3熱度

    1回答

    我有一個程序調用一個子程序,然後調用一個函數。我對Fortran對函數類型聲明的要求有些困惑。我已經在函數中聲明瞭這個類型(即真實函數foo(...)),並且無論我在子例程聲明部分中聲明函數,該程序都能正常工作。 我的具體問題是,不會在子程序中聲明函數可能會導致未來的意外行爲?我也看到了接口塊,並且想知道這是否也是必需的。更爲普遍的是,我也對Fortran正在做的「幕後工作」以及爲什麼聲明函數或使

    3熱度

    1回答

    我有一個模塊,其中包含許多子例程,它們都使用相同的一組格式來輸出。 現在,我必須在每個子程序中聲明格式。有沒有辦法在模塊中聲明它們,這樣所有的子程序都可以訪問它們?

    1熱度

    1回答

    親愛的所有人,我正在編寫一個代碼,將輸出寫入多個文件,名爲1.dat,2.dat,.....這是我的代碼,但它提供了一些不尋常的輸出。你能告訴我我的代碼有什麼問題嗎?基本上我無法獲得正確的語法來打開多個文件,寫入它們並在下一個文件打開之前關閉。謝謝。 我的代碼: implicit double precision (a-h,o-z),integer(i-n) dimension b(3300,7

    1熱度

    4回答

    我正在學習Fortran 90/95,我正在使用的這本書討論了行式打印機對格式化語句的影響。根據這本書,該程序使用該行的第一個字符來決定該行相對於前一行的位置(即'1'開始一個新頁面,'0'跳過一行,'+'覆蓋前一行,並且''或任何其他字符在新行之前寫入新行)。我編譯並在控制檯中運行了一個簡單的程序來測試這個,但沒有觀察到這種行爲。 program test integer :: i = 12

    2熱度

    1回答

    使用G95編譯器時,我得到一個錯誤,指出: ERROR: Procedure attribute conflicts with INTENT attribute in 'quantityarray' 我試圖把找到陣列的總和。以下是出現此錯誤的子程序: SUBROUTINE findTotals(pricearray,quantityarray,totalprice, totalquantity

    2熱度

    2回答

    幫助使用g95編譯器,我有一個錯誤: Error: Operands of comparison operator '.EQ.' at (1) are LOGICAL(4)/LOGICAL(4) 我不知道這意味着什麼。我包括子程序。你有什麼想法如何解決這個問題? 非常感謝您的時間。 SUBROUTINE search(iarray, ItemSought, Found, Location)

    1熱度

    1回答

    我有三個數組。我試圖通過其中的一種來分類所有這些。所以我的數組是itemarray,pricearray,quantityarray。我希望itemarray進行排序,但相應的數組沒有與itemarray一起正確排序。 這是我創建的算法。你知道我該如何解決這個問題? DO i=1, NumItems-1 SmallestItem = MINVAL(itemarray(i:NumItem

    3熱度

    1回答

    使用G96編譯器存儲,我得到了一個錯誤說: INTENT(OUT) at variable 'SIZE' is never set. 下面是我的子程序。你知道我該如何解決這個錯誤?非常感謝! SUBROUTINE getFileItems(size,itemarray,pricearray,quantityarray) INTEGER:: iost=0, i=0 INTEGER, INT

    0熱度

    2回答

    擴展我以前的問題here,我想知道是否有可能在fortran中創建自定義屬性? 像這樣 real, custom_attribute, allocatable :: variable(:) 如果是可以做的,我猜,下面就可以過 custom_type, custom_attribute, allocatable :: variable(:)