Описание тега fortran90
Стандартизованный преемник FORTRAN 77, выпущенный в качестве стандарта ISO в 1991 году и стандарта ANSI в 1992 году. Вопросы, в которых используется этот тег, должны быть специфичными для языка, определенного как Fortran 90, а не быть общими вопросами Fortran. Также следует добавить более общий тег Fortran.
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,KMOTLU,REDVAR,MOCDER CHARACTER(72) :: CTEXT CHARACTER(4) :: …
15 июн '15 в 15:15
1
ответ
Фортран рассчитывает расстояние от многих точек до фиксированной точки
Есть ли более элегантный и лаконичный способ вычисления расстояний между набором точек и фиксированной точкой, чем это? real, dimension(3, numPoints) :: points real, dimension(3) :: source real, dimension(numPoints) :: r r = sqrt((points(1,:) - sour…
25 июн '15 в 13:50
0
ответов
Fortran FFT параллельно с использованием openmp
Я хотел бы ускорить вычисления Якобиана в подпрограмме Advection, используя инструкции omp. Моя неудачная попытка показана ниже. Четыре вычисления, обозначенные как разделы с 1 по 4, не зависят друг от друга. Обратите внимание, что я не пытаюсь испо…
29 июн '17 в 18:32
0
ответов
Перехват неинициализированных распределенных массивов в FORTRAN 90
Я компилирую с gfortran 5.4.1 и ifort 17.0.1 В следующем коде: program check implicit none real, dimension(:), allocatable :: hello real :: g,h,i allocate(hello(5)) g = hello(1) h = g + 10.0 i = hello(2)*5 print *, hello,g,h end program check Мы выд…
17 окт '17 в 17:37
1
ответ
Можно ли индексировать содержимое массива с помощью функции транспонирования?
Можно ли в фортране индексировать элементы массива, подчиненные внутреннему? Я имею в виду, в частности, transpose функция. В следующем коде я создаю и инициализирую массив с именем A и пытаюсь проиндексировать значение внутри транспонированного мас…
07 июл '17 в 06:11
2
ответа
Передача строк для выполнения в подпрограммах Fortran
В следующей подпрограмме я хотел бы передать строковые переменные с именем str, Если это 'poly', 'gaus', 'slat'тогда у него есть предопределенное действие (fval = см код ниже). Я бы хотел, чтобы пользователь указал функцию для использования и переда…
06 сен '11 в 22:18
2
ответа
Указатель возврата функции Fortran 90
Я видел этот вопрос: Fortran динамические объекты и принятый ответ заставил меня задаться вопросом, если бы я написал следующую функцию безопасно (не допуская утечки памяти) function getValues3D(this) result(vals3D) implicit none type(allBCs),intent…
03 июн '14 в 17:08
1
ответ
Как я могу получить до 7 значимых цифр моего результата в FORTRAN90?
INTEGER, PARAMETER :: SINGLE=SELECTED_REAL_KIND(7) REAL(KIND=SINGLE) :: K REAL::X ... K=X WRITE(*,*) K Когда я пишу 5 или 6 внутри SELECTED_REAL_KIND, он выводит шесть значащих цифр, но когда я пытаюсь 7, он выводит больше 7. Можете ли вы сказать мн…
25 апр '12 в 20:36
1
ответ
Параллельный ввод-вывод
Когда я запускаю свои мелкомасштабные параллельные коды, я обычно выводю N файлов (N - это число процессоров) в виде fileout.dat.xxx где xxx номер процессора (используя I3.3) а потом просто cat их в один fileout.dat файл после завершения кода. Мой в…
18 мар '13 в 17:32
1
ответ
Fortran 90 логическое несоответствие
Я пытаюсь передать аргумент, объявленный просто как logical :: invarк функции, где получающая переменная объявлена как logical(x) :: invar Сейчас x определяется как INTEGER, PARAMETER :: x = KIND(.TRUE.) Что означает это определение x имею в виду?…
08 мар '17 в 21:38
1
ответ
Fortran90 Несекретное заявление в то время как цикл
Я пытаюсь сделать небольшой фрагмент кода, работающего в Fortran90, и я получаю несекретную ошибку оператора с оператором while. Я посмотрел онлайн и не смог найти, почему это произойдет с помощью оператора while. Вот ошибки, которые я получаю: Test…
18 июн '13 в 17:44
1
ответ
Как решить ошибку "ошибка сегментации"?
У меня есть некоторые значения, записанные в файле 4, которые мне нужно прочитать их снова для новых вычислений, но я получаю ошибку ошибки сегментации, в то время как я выполняю код, который возникает в команде чтения "read (4,*) NNrow(I),Niz(I),NN…
16 окт '13 в 10:09
1
ответ
Ошибки при связывании кода C++ и Fortran90
Поэтому я работаю над попыткой связать два простых кода, один в C++, а другой в Fortran90. Я провел последние несколько дней, просматривая Интернет, и все, что я видел, заставляет меня выглядеть так, как будто я делаю, должно работать, но я здесь та…
05 июл '16 в 17:22
2
ответа
Прямое индексирование возвращаемого значения функции в фортране
Есть ли возможность использовать индексирование непосредственно по возвращаемому значению функции? Что-то вроде этого: readStr()(2:5) где readStr() это функция, которая возвращает символьную строку Во многих других языках это вполне возможно, но как…
27 фев '15 в 10:28
2
ответа
Fortran 90/95: Как преобразовать трехмерный массив в одномерный массив
У меня есть 3D-массив NUM(0:9,0:9,0:9), который используется в качестве счетчика, чтобы отслеживать, сколько молекул лежит между определенными координатами. В любом случае, массив оказывается списком чисел, из которых я хочу сделать гистограмму. Есл…
12 июн '13 в 14:16
1
ответ
Конвертировать целое число в длинный двойной
Я должен создать длинный двойной генератор случайных чисел. Я думаю о линейном конгруэнтном генераторе, потому что мне не нужна случайная последовательность высокой точности. Но как я могу преобразовать целое число в длинный двойной?
28 апр '11 в 14:12
0
ответов
Ошибка эксперимента по резерфордскому рассеянию
Я очень новичок в Фортране и должен смоделировать эксперимент Резерфордовского рассеяния для выполнения задания. В коде есть золотое ядро, предположительно находящееся в центре (x,y) = (0,0). Я пытаюсь найти ускорение, скорость, а затем расстояние а…
08 апр '17 в 19:21
1
ответ
Найти индексы последовательного значения флага в одномерном массиве
Я ищу, чтобы найти значение 0 в одномерном массиве. У меня есть несколько значений 0 в этом массиве, большую часть времени подряд 0 значений. Теперь, что я точно хочу сделать, это найти индексы вхождения первого нулевого значения и вхождения последн…
27 фев '16 в 12:05
2
ответа
Разбить двумерный массив по столбцам и использовать все
У меня есть Fortran MPI-код, в котором функция интенсивного вычисления вызывается для каждого элемента 2D-массива. Я пытаюсь разделить задачи между рядами. Например, если есть 30 столбцов и 10 рангов, то каждый ранг получает 3 столбца. Следующий код…
20 июл '12 в 06:25
2
ответа
Как инициализировать массив целочисленного вида 8 в фортране?
Я хочу инициализировать массив больших целых чисел в Фортране, я попытался: integer(kind=8) :: XGrid(1:20) Но целые числа остаются по умолчанию вид =4. Как я позже добавлю числа в массив: XGrid = (/3002, 3340403,....,19460630000/) И я получаю ошибку…
03 янв '17 в 11:44