fortran90

    0

    2答えて

    私は、各ノードが16のプロセッサを持つクラスタで作業しています。 Open MPIの私のバージョンは 1.5.3です。その後、私はコードをコンパイル program MAIN implicit none include 'mpif.h' integer status(MPI_STATUS_SIZE) integer ierr,my_rank,size

    0

    3答えて

    OpenMPIを使用して異なるプロセッサにhist(1:1000)という同じアレイを割り当てたい場合、プロセッサが変更されたときにこの変更が残りのプロセッサで更新されるようにします。 私はコードを書いてhist(1:1000)と宣言しましたが、問題はhistが各プロセッサで独立して更新されているため、情報に基づいて別のヒストグラムを更新するために「マスターノード」にデータを送信することですこれは私

    1

    1答えて

    module foo contains subroutine bar() integer :: i(3) i(1) = 1 i(2) = 2 i(3) = 3 call baz(i, i) end subroutine subroutine baz(a,b) integer, intent(

    0

    1答えて

    私は2つのルーチンの違いは引数の順番でしかありませんが、私はそれらをインターフェイスで使いたいので、呼び出されたときに引数の順序に従って適切なものが呼び出されます。コンパイラはそれを区別することができないと訴えています。私の推測は、呼び出し時に名前付き引数の構文を使用すると、呼び出す引数が分からないためです。 1つの回避策は、引数に異なる名前を使用することですが、名前付き引数の呼び出しスタイルを無

    0

    1答えて

    Fortranモジュールは、OOPの考え方に従ってできるだけ整理したいと考えていますが、Fortran 2003と互換性があります。一時的な配列バッファを解放し、(b)いくつかのデータで動作する関数do_Fを提供する。この関数do_Fはこれらの一時バッファを使用しますが、いくつかの補助型にも依存します。 私はバッファを型に入れ、必要に応じて初期化/解放する必要があることは明らかです。しかし、do_

    7

    2答えて

    Fortran(90)で(実数)配列のディープコピーが必要ですが、参照の仕組みを完全に理解していないため、取得方法がわかりません。直感的に、私はこれは私が欲しいものを私を得ることを期待する: do i=1,n b(i) = a(i) end do しかし、最近b(1:n) = a(1:n)は上記のコードと同等であることを私に指摘されました。直観的には、b(1:n) = a(1:n)

    0

    1答えて

    で入力配列ファイル(.dat)の最小値と最大値nを読み込み、倍精度のn個の数値を格納するベクトルを作成し、この数値を読み込み、サブルーチンprintminmax()を呼び出します。最小値と最大値を見つける。私のコードは通常の数値(整数、実数など)には最適ですが、私は科学的表記法(0.3412E + 01)のスタックを持っています。なぜですか?私は*すべてのフォーマットを読んで考えました。スタック入

    1

    1答えて

    私は小さなプログラムに苦しんでいます。私は1つの誤りを訂正する方法を見つけることができません。 私のプログラム: program calcul ! ce programme permet d'effectuer des opérations mathématique de base IMPLICIT NONE REAL::x,y character(len=1)::op cha

    20

    3答えて

    Fortran 90で書かれたプログラムのマニュアルには、「実際の変数とパラメータはすべて64ビット精度で指定されています(すなわちreal*8)」となっています。 Wikipediaによると、単精度は32ビット精度に対応しますが、倍精度は64ビット精度に対応するため、プログラムでは倍精度が使用されているようです。 しかし、real*8は何を意味しますか? 8は、8桁が小数点以下に続くことを意味す

    0

    2答えて

    内のデータ読み出しは、私が使用して私のFORTRAN 90のプログラムに初期データファイルを読み込むしようとしていたときにEOFが発生しました: : !---- Open Initial Data File ---- open(50,file=FILE_INITIAL) !---- Read Status ---- read(50,'(a3)') tmp3 私は最初の行を読むための試みで、次のエラ