Вопросы по теме 'fortran90'

Оператор печати отладки Fortran влияет на выполнение программы
У меня есть программа, которая выполняет итерацию по массиву, детерминированно создавая новые векторы-строки, которые затем добавляет в массив. На каждой итерации берется норма вектора, чтобы гарантировать, что это не нулевой вектор. Если он равен...
718 просмотров

Ошибка Fortran90: атрибут EXTERNAL конфликтует с атрибутом DIMENSION
Я написал функцию, которая вычисляет собственные значения матрицы 2 * 2. Он принимает в качестве аргумента матрицу 2 * 2 и возвращает 2 собственных значения через массив из 2 элементов. Я объявил функцию в программном блоке следующим образом:...
3224 просмотров
schedule 20.10.2021

передача строки в качестве аргумента, когда манекен имеет указанную длину
если у меня есть этот код module test contains subroutine xx(name) character(len=20), intent(in), optional :: name if (present(name)) then print *, name else print *, "foo" endif end subroutine end...
15730 просмотров
schedule 25.09.2021

Фортран ошибочно вызывает подпрограмму
У меня есть код Fortran 90, который я использовал для вычислений методом конечных элементов. В последнее время я пытался улучшить то, как он решает блочные линейные системы. Раньше у меня была подпрограмма amux , используемая для умножения...
354 просмотров

ссылка на модули во внешнем каталоге
Я хотел положить несколько модулей в одну папку, а программы хранить в другой. Когда я пытаюсь сгенерировать файл a.out, я пишу в консоли ifort test.f90 -I~/Fortran/modulos/ test.f90 использует модуль grn, который ранее был...
1347 просмотров
schedule 21.10.2021

Ошибка компиляции с программой Fortran, вызывающей функцию c ++
Я пытаюсь связать функцию C ++ во время компиляции с программой Fortran. Я компилирую mpif90 с помощью файла make. Я добавляю объектный файл C ++ в список объектных файлов в последнем. Функция компилируется сама по себе через g ++ -c -o...
113 просмотров
schedule 03.10.2021

Segfault при входе в подпрограмму Fortran
При входе в подпрограмму возникает ошибка сегментации. В отладчике я могу перейти к первому call RK_sub_step в следующем сегменте кода. Как только я вхожу в подпрограмму, происходит сбой. module RK_mod type(MyType), dimension(1:2) :: q0, q1,...
244 просмотров
schedule 22.11.2021

Как я могу улучшить производительность этого огромного вложенного цикла? (Фортран 90)
Я опубликую здесь весь сегмент кода, но единственная проблема - это вложенный цикл в конце. Все считываемые матрицы имеют размер 180x180 и цикл невыносимо медленный. Я не вижу простого способа упростить вычисление, поскольку умножения по индексу для...
601 просмотров
schedule 23.10.2021

Ошибка суммирования в openmp fortran
Я пытаюсь суммировать переменную с openmp с кодом, приведенным ниже. normr=0.0 !$omp parallel default(private) shared(nelem,normr,cell_data,alphar,betar,k) !$omp do REDUCTION(+:normr) do ii=1,nelem...
148 просмотров
schedule 07.11.2021

Фортран: извлечение столбцов и строк из матрицы и использование их как одномерных массивов для умножения
Предположим, у меня есть матрицы A и B , обе имеют размеры n x n. Теперь я хочу рассматривать каждый столбец A как матрицу столбцов ColA(i) [i = 1, n], а каждую строку матрицы B как матрицу строк RowB(j) [j = 1, n]. Теперь можно...
3297 просмотров
schedule 01.11.2021

Объявление целочисленного FORTRAN
Я новичок в Фортране, и извините за этот глупый вопрос, я не нашел на него ответа. В коде: integer ( kind = 4 ) k integer ( kind = 4 ) v(k) integer ( kind = 4 ) list(*) Что делают (k) и (*) во второй, третьей строке? Спасибо
246 просмотров
schedule 08.09.2021

Makefile Fortran90 с предварительной компиляцией и модулями
Я пытаюсь написать Makefile для компиляции проекта Fortran90 , состоящего из нескольких исходных файлов, содержащих подпрограммы и модули . Чтобы усложнить задачу, я использую предварительную компиляцию (создание *.for файлов из *.F...
1638 просмотров

Непосредственно читать определенную строку на фортране
Я хочу прочитать определенную строку файла, например 3-я строка файла input.dat . Мой нынешний код: Program Read_a_line Implicit None Integer:: i Real*8:: x,y open (10, file='input.dat', status='old') do i=1,3 read (10,*) x, y end do...
491 просмотров
schedule 25.09.2021

Подсветка синтаксиса Vim для комментариев Fortran OpenMP
Был очень полезный ответ о том, как выделить директивы openmp в коде Fortran ( Подсветка синтаксиса Vim для многострочных директив openmp fortran ). Итак, строки вроде !$omp parallel больше не выделяются как комментарии. Также было бы...
334 просмотров

Использование параметра в дескрипторе формата Fortran90
Как я могу использовать параметры в дескрипторе формата в Fortran90? Я хочу создать матрицу, скажем, квадрат (n * n), но я хочу сделать ее общей. Итак, я объявил такой параметр: integer,parameter::n=3 (скажем, здесь n равно 3) Затем, после...
657 просмотров
schedule 24.11.2021

Компилятор GNU Fortran для Visual Studio 2013
Я хочу добавить компилятор GNU Fortran в Visual Studio 2013. Есть ли способ? Я пробовал кластерную версию Intel Parallel Studio, но период оценки закончился, и это очень дорого.
1109 просмотров

Попытка передать производные типы MPI между процессорами (и неудача)
Я пытаюсь распараллелить клиентский код Fortran с MPI. f - это массив 4-байтовых вещественных чисел с размерами f(dimx,dimy,dimz,dimf) . Мне нужны различные процессы для работы с разными частями первого измерения массива. (Я бы предпочел начать...
137 просмотров
schedule 23.11.2021

Как я могу узнать, был ли указатель на массив fortran выделен напрямую или связан с другим объектом?
Я работаю с кодом fortran, который содержит указатели на массивы; в зависимости от ввода пользователя они могут быть либо настроены так, чтобы указывать на другой массив с помощью оператора присваивания => , либо они могут быть напрямую выделены...
3415 просмотров

Странное поведение Fortran 90
program main call findbracket(x0, a, b) end program function f(x) double precision x,f f = x end function subroutine findbracket(x0,a,b) double precision x0, a, b double precision fa, fb double precision dx dx = 0.001d0 x0 = 1.0d0 a = x0 b = x0...
108 просмотров
schedule 01.12.2021

Простая программа, выводящая только нули, ошибка?
Почему эта программа fortran выдает только нули? Когда распечатываю, везде получаю -0,00000! Что я сделал не так? В Matlab он работает отлично. Я не вижу причин, по которым он не работает, если честно! Похоже, это дробь все портит. если я...
163 просмотров
schedule 25.09.2021