Вопросы по теме 'fortran90'
Оператор печати отладки Fortran влияет на выполнение программы
У меня есть программа, которая выполняет итерацию по массиву, детерминированно создавая новые векторы-строки, которые затем добавляет в массив.
На каждой итерации берется норма вектора, чтобы гарантировать, что это не нулевой вектор. Если он равен...
718 просмотров
schedule
25.09.2021
Ошибка 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 просмотров
schedule
31.10.2021
ссылка на модули во внешнем каталоге
Я хотел положить несколько модулей в одну папку, а программы хранить в другой. Когда я пытаюсь сгенерировать файл 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 просмотров
schedule
24.09.2021
Непосредственно читать определенную строку на фортране
Я хочу прочитать определенную строку файла, например 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 просмотров
schedule
31.10.2021
Использование параметра в дескрипторе формата 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 просмотров
schedule
27.09.2021
Попытка передать производные типы MPI между процессорами (и неудача)
Я пытаюсь распараллелить клиентский код Fortran с MPI. f - это массив 4-байтовых вещественных чисел с размерами f(dimx,dimy,dimz,dimf) . Мне нужны различные процессы для работы с разными частями первого измерения массива. (Я бы предпочел начать...
137 просмотров
schedule
23.11.2021
Как я могу узнать, был ли указатель на массив fortran выделен напрямую или связан с другим объектом?
Я работаю с кодом fortran, который содержит указатели на массивы; в зависимости от ввода пользователя они могут быть либо настроены так, чтобы указывать на другой массив с помощью оператора присваивания => , либо они могут быть напрямую выделены...
3415 просмотров
schedule
18.11.2021
Странное поведение 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