Вопросы по теме 'fortran95'
Сделать внешние функции доступными для других функций/модулей в Fortran
Я новичок в Фортане, и у меня есть вопрос относительно использования функций обратного вызова, доступных для всего кода Фортрана.
Я пишу на интерфейсе, который обращается к Fortran DLL из С#.
module csWrapper
interface
subroutine...
1019 просмотров
schedule
25.01.2024
Модули fortran находят, где переменные определены/назначены
Я пытаюсь извлечь часть большого фортрана, чтобы сделать его собственной программой. Конкретная подпрограмма импортирует множество модулей (здесь в качестве примера показаны только два):
subroutine myroutine(aa,bb)
use xx_module
use yy_module...
372 просмотров
schedule
23.04.2022
выделение многомерного динамического массива
Я хочу использовать динамическое распределение для многоблочного кода CFD, где индекс (i, j, k) различается для разных блоков. Я действительно не знаю, как выделить произвольный индекс массива для n блоков и передать его подпрограммам. Я привел...
194 просмотров
schedule
03.09.2022
Чтение строки символов неизвестной длины
Мне поручили написать программу на Фортране 95, которая будет считывать введенные символы из файла, а затем (для начала) просто выдавать их обратно. Сложность заключается в том, что эти строки ввода имеют разную длину (максимальная длина не указана),...
25698 просмотров
schedule
24.05.2024
Стоимость использования функций на фортране (или любом другом языке)
Скажем, у меня есть очень большой массив verybigvariable
И я определил функцию, которая выполняет некоторые операции, подобные этой.
function myfunc(var) result(res)
real:: var(:,:,:),res
...
...
...
end function myfunc
Мой вопрос в...
255 просмотров
schedule
04.05.2023
Бесконечный цикл Fortran при вызове функции
Почему я в бесконечном цикле?
PROGRAM tayls
USE kertoma
USE tforexp
IMPLICIT NONE
INTEGER :: n= 5
INTEGER :: i
REAL :: x
WRITE(*,*) "f1(x)= (e**x-1)/x"
DO i=1,10
x= 0.01*i
WRITE(*,*)x, (taylexp(x,n)-1)/x
END DO
END...
682 просмотров
schedule
26.07.2022
Может ли форма массива в интерфейсе соответствовать нескольким фиксированным размерам массива?
У меня есть несколько подпрограмм с параметром p, который представляет собой массив явного размера, например
subroutine foo(p)
integer,dimension(2),intent(in) ::p
end subroutine foo
subroutine bar(p)
integer,dimension(3),intent(in) ::p
end...
143 просмотров
schedule
24.05.2022
длина дуги кривой в Фортране
Программа должна вычислить длину кривой ƒ=3.1*x^2-5.3/x между x=1/2 и x=3/2 . Длина должна быть рассчитана как сумма n сегментов линии, начинающихся с n=1 и заканчивающихся n=20 .
Я действительно не могу понять, почему результат, который...
271 просмотров
schedule
19.06.2022
Как сделать имя подпрограммы, переданное в качестве аргумента, доступным во всем модуле?
Я хотел бы использовать переменное имя подпрограммы, и я хотел бы, чтобы это имя было доступно во всем модуле, а не только в одной подпрограмме.
Переменное имя подпрограммы, переданное в качестве аргумента, является типом данных. Где он хранится?...
114 просмотров
schedule
08.11.2022
Следует ли избегать списков имен в Fortran, и если да, то какова рекомендуемая альтернатива?
Я часто использую функцию namelist для гибкого ввода списков параметров в программы FORTRAN, но на днях, когда я ищу, чтобы напомнить себе об их использовании, я наткнулся на это утверждение :
Он (расширение языка списка имен для f77) теперь...
467 просмотров
schedule
16.07.2023
Вычисление обратной матрицы Fortran с использованием SGETR (F, I) работает только с одинарной точностью.
Я пытаюсь вычислить обратную квадратную матрицу, но это не работает. Я проверил предыдущие сообщения, но логика такая же, но я до сих пор не нашел, в чем проблема. Я также делюсь результатом Matlab, например, матрицей.
program test
Implicit...
521 просмотров
schedule
30.09.2022
Реализация гамма-функции не дает правильных значений
Функция, запрограммированная на Фортране 95 для вычисления значений гамма-функции из математики, не выдает правильных значений.
Я пытаюсь реализовать рекурсивную функцию в Fortran 95, которая вычисляет значения гамма-функции, используя приближение...
264 просмотров
schedule
09.06.2023
Как унифицированно читать действительные и комплексные числа в Фортране?
Предположим, у меня есть файл данных (fort.100), содержащий такие данные, как
2.34, 4.5
(23.1,0.3), 4.5
(3.1,0.3), (3.2,1.0)
2.4, (32.2,12.0)
как прочитать эти смешанные реальные и комплексные значения в комплексные...
530 просмотров
schedule
30.10.2022
Умный способ заставить Fortran выполнять цикл по отдельным диапазонам одной и той же переменной
Представьте, что у меня есть цикл выполнения над переменной I. Обычно эта переменная имеет диапазон от 1 до 20, но я хочу создать цикл выполнения в диапазоне от 1 до 5 и 8–12. Я не могу создать простой цикл do, потому что диапазоны не являются...
61 просмотров
schedule
25.02.2023
Необъяснимый неоднозначный интерфейс
Если я перегружаю конструктор данного типа, как в следующем примере, я получаю неоднозначный интерфейс. Поскольку у меня явно разные типы в интерфейсе, я не понимаю, почему он должен быть двусмысленным.
Я знаю, что у меня одинаковые имена в...
23 просмотров
schedule
16.06.2022
Повторное выполнение операторов в Fortran 95
Извините за нубский вопрос, но мне нужна помощь в выяснении того, как вернуть выполнение обратно к началу подпрограммы после завершения логического блока, проверяющего ввод пользователя.
Program FibSequence
Integer(2) :: n_terms
print*, "Please...
69 просмотров
schedule
01.07.2022