fortran90

    1熱度

    2回答

    我買了這個共同的煩惱: COMMON /REDCOM/ DPREC,NITMA,INDIC,NBERR,NCAR,KMOTLU, & REDVAR,MOCDER(2) COMMON /REDCO1/ CTEXT C type(double_st) :: DPREC INTEGER :: NITMA,INDIC,NBERR,NCAR,KMOTL

    0熱度

    2回答

    我有一個名爲solidsolver.f90的fortran主程序和一個名爲read_mesh.f90的模塊。該模塊包含兩個子程序,並在主程序中使用。我可以手動編譯它們,但不能用makefile。我的makefile文件被命名爲makefile.makefile,它給我一個錯誤: make: *** No targets specified and no makefile found. Stop.

    0熱度

    1回答

    在查詢之前,我搜索了很長時間:我需要在Fortran中將很多未格式化的文件輸出到Ensight。我想用geo.000000,geo.000001 ... geo.0001000來命名它們。下面是我如何處理通配符: character(54) :: filename, temp character(80) :: buffer write(temp,'(i6.6)') step filename

    0熱度

    1回答

    請解釋0.0_p2和1.0_p2這裏的含義。 integer , parameter :: sp = kind(1.0) integer , parameter :: p2 = selected_real_kind(2*precision(1.0_sp)) real(p2), parameter :: zero = 0.0_p2, & one = 1.0_p2

    0熱度

    1回答

    我正在準備一個考試,並通過一些練習題來解決,但不幸的是這些練習題不提供解決方案。我想使用SUM函數,陣列構造和隱含的DO循環此函數來編程: 從N = 2至100點心,(1 + 2 * N)* LOG10(N) 我曾嘗試: WRITE(*,*) SUM(real:: x(99) = (/ ((1+2*N)*LOG10(REAL(N)) , N=2,100) /)) 但是,所有的IDE說的是,該語

    2熱度

    1回答

    我有一個原始陣列稱爲pres_lev3d,其大小由pres_lev3d(im*jm, levsi),其中im*jm是72960和levsi定義是64,這相當於全球大氣數據,從而大小。該數組是可分配的:real (kind=kind_io8), allocatable :: pres_lev3d(:, :)。我有一個第二陣列,press_1d,其大小也以類似的方式pres_1d(im*jm, lev

    0熱度

    1回答

    我想弄清楚如何在Fortran中調用求解器來求解一些n維非線性方程。我遇到了具有一些非線性求解例程的SLATEC庫,我嘗試使用的庫是SNSQE。 (旁白:也許你知道一些更好/更容易使用的解算器,請告訴!) 我的示例代碼試圖解決一個簡單的二維問題。你可以手工解決它,但重點是找出解算器的工作原理。代碼在這裏: program test implicit none ! declar

    2熱度

    1回答

    我有一套從NETLIB網站獲得的blas/lapack函數。我想將這些函數放入Fortran模塊中。我的代碼的其餘部分是用Fortran 90所以我去這樣做: module modname contains double precision function ddot(n,dx,incx,dy,incy) . . . end function subroutine dpofa

    1熱度

    1回答

    在構建我的代碼時,我收到幾個語句函數的「未定義的引用錯誤...」錯誤。它編譯成功。 我的程序代碼部分在定義了必要的參數和尺寸後,從下面的語句函數開始。另外,模塊的CONTAINS部分還有其他功能/子程序。 PROGRAM ...... DIMENSIONS bla bla !***** FUNCTIONS ***** !***FREE ENERGIES PE

    -1熱度

    1回答

    我的代碼中包含2049個元素的數組。其中1681被稱爲流體粒子,368被稱爲邊界粒子。 現在粒子排列1681 + 368 = 2049。我需要添加40個粒子到我的陣列。新的粒子必須在1681年之後添加。我的問題是,如何從我的陣列中移動368以添加在1681之後爲40的新數字,以成爲總數= 2088。 請注意,我必須不時添加相同的編號到我的陣列