Форум программистов, компьютерный форум, киберфорум
Наши страницы
Fortran
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Overhater
0 / 0 / 1
Регистрация: 13.03.2015
Сообщений: 10
1

Переписать из Fortran в СИ

15.06.2015, 19:09. Просмотров 956. Ответов 3
Метки нет (Все метки)

Необходимо переписать готовый код из Fortran в СИ. Программа состоит из библиотеки и модуля, переписать нужно модуль Adapt1.f. Программа написана С.В. Патанкаром и решает задачи теплопроводности и конвективного теплообмена при течении в каналах. Есть так же документация к программе могу скинуть при надобности.
Для ясности того откуда вызываются процедуры и как передавать параметры могу выложить код библиотеки.


Модуль Adapt1.f:
Fortran
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      SUBROUTINE ADAPT
C-----------------------------------------------------------------------
C-----EXAMPLE 1 -- STEADY CONDUCTION WITH HEAT GENERATION 
C-----------------------------------------------------------------------
      INCLUDE 'COMMON'
C***********************************************************************
      DIMENSION T(NI,NJ)
      EQUIVALENCE (F(1,1,1),T(1,1))
C*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
      ENTRY GRID
      HEADER='STEADY CONDUCTION WITH HEAT GENERATION'
      PRINTF='PRINT1'
      PLOTF='PLOT1'
      CALL DATA2(XL,1.,YL,1.)
      CALL INTA2(NCVLX,5,NCVLY,5)
      CALL EZGRID
      RETURN
C*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
      ENTRY BEGIN
      TITLE(1)='   TEMPERATURE '
      CALL INTA4(KSOLVE(1),1,KPRINT(1),1,KPLOT(1),1,LAST,3)
      CALL DATA3(TW,0.,COND,1.,SOURCE,5.)
      DO 100 J=1,M1
      DO 100 I=1,L1
         T(I,J)=TW
  100 CONTINUE   
      RETURN
C*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
      ENTRY OUTPUT
      DO 200 IUNIT=IU1,IU2
         IF(ITER.EQ.0) WRITE(IUNIT,210)
  210    FORMAT(2X,'ITER',3X,'T(2,2)',4X,'T(4,2)',4X,
     1   'T(6,3)')
         WRITE(IUNIT,220) ITER,T(2,2),T(4,2),T(6,3)
  220    FORMAT(2X,I2,2X,1P3E10.2)
  200 CONTINUE
      IF(ITER.EQ.LAST) THEN
         CALL PRINT
         CALL PLOT
      ENDIF
      RETURN
C*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
      ENTRY PHI
      DO 300 J=2,M2
      DO 300 I=2,L2
         GAM(I,J)=COND
         SC(I,J)=SOURCE
  300 CONTINUE
      RETURN
      END 
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.06.2015, 19:09
Ответы с готовыми решениями:

Переписать с С++ на Fortran
#include <cstdlib> #include <iomanip> #include <iostream> using namespace std; int...

Переписать программу с С на fortran
#include <stdio. h> #include <stdlib. h> #include <math. h> #include <mpi. h> #define N1 50...

[Fortran-98] Переписать элементы главной диагонали матрицы А в одномерный массив В
Помогите решить задачу или наведите на её решение, если не трудно :) Текст задачи: ...

Как перекомпилировать код из Fortran 77 в Fortran 90/95?
Добрый день! У меня есть exe-файл, написанный на Fortran 77 для Windows XP 32-bit. На моём...

Fortran 66/Fortran 77
А может кто-то конвертировать программу на Fortran 66 на Fortran 77? P.S.: Это не шутка

3
aedeph
92 / 18 / 5
Регистрация: 06.06.2015
Сообщений: 99
15.06.2015, 19:39 2
Не стоит переписывать, стоит написать заново.
0
vua72
418 / 417 / 167
Регистрация: 28.11.2010
Сообщений: 1,183
Завершенные тесты: 1
15.06.2015, 19:40 3
f2c в помощь. После можете править сишный код как хотите. Тем более, здесь как минимум 7 вызовов внешних процедур, которые тоже нужно переписать, а сколько там еще таких вызовов?
0
Розалин
0 / 0 / 0
Регистрация: 27.06.2015
Сообщений: 3
27.06.2015, 21:28 4
Да, быстрее будет написать заново.
0
27.06.2015, 21:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.06.2015, 21:28

Из Fortran в C++
Здравствуйте, есть программа написанная на Fortran, необходимо переделать в С++, заранее спасибо...

Из Fortran в С++
Всем привет! Встала задача по переводу кода, написанного на Fortran 77, в Visual C++. Подскажите,...

FORTRAN 95 и выше
Добрый день, подскажите кто-нибудь, как и откуда скачать всё необходимое для программирования на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru