Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы программирования на FORTRAN (ФОРТРАН)

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330

Открыть новую тему     Написать ответ в эту тему

akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Обсуждаются все вопросы, связанные с программированием на ФОРТРАН, как общего так и конкретного характера.
Постарайтесь дать как можно больше информации о возникшей проблеме -- это в конце концов в ваших же интересах чтобы вам помогли...

прежде чем просить помощи в задании
платное решение задач

ресурсы этого топика
ссылка на подборку ресурсов, собранных посетителями этого форума
 
то, чем мы решили поделиться
ссылка на страничку программ etc собственного изготовления, которыми любезно делятся наши форумчане


если вам вдруг не отвечают или ответ вас не устраивает
и вообще полезно прочитать всем спрашивающим
 
просьба к пишущим и отвечающим все большие листинги оформлять тегом more
и отключать графические смайлики при размещении фортран-кода

Всего записей: 24106 | Зарегистр. 06-12-2002 | Отправлено: 18:11 14-01-2007 | Исправлено: akaGM, 09:47 01-03-2020
Makcumkun

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
<b>все функции сингловые! т.е. надо ещё поиграться с ними</b>
В новых компиляторах (начиная года так с 90го) об этом можно не беспокоиться.

Всего записей: 14 | Зарегистр. 08-12-2004 | Отправлено: 19:15 18-02-2008
terminat0r



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM

Цитата:
кстати, пока писал эту строчку, ещё увидел у тебя прокол -- у тебя же все функции сингловые! т.е. надо ещё поиграться с ними

может проще переименовать файл с *.f ->*.f90
а потом уже новые ошибки исправить?
мне кажется что gfortranу пофигу  log() --> dlog() , как и во всем 90 фортране, надо только правильный тип в  функцию передать.

Всего записей: 2084 | Зарегистр. 31-03-2002 | Отправлено: 19:17 18-02-2008
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
может оно и так, не буду спорить...
я же поступаю как меня учили -- всё всегда описано, везде imlicit none итд
помогает... обычно бьюсь с сутью решаемой задачи, а не с сопутствующими мелочами...
как та старая мама, кот. давала дочке с утра в кофе контрацептивчик -- и весь день голова не болела...
 
тогда зачем, спрашивается, в доках заострять на этом внимание?
Specific Name Argument Type Result Type    
EXP REAL(4) REAL(4)    
DEXP REAL(8) REAL(8)    
QEXP REAL(16) REAL(16)

 
IF 10.x

Всего записей: 24106 | Зарегистр. 06-12-2002 | Отправлено: 19:27 18-02-2008 | Исправлено: akaGM, 19:35 18-02-2008
han84



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
попробуй, как говорит FuzzyLogic (да и сам компилятор), сразу две опции  
-fdefault-double-8 -fdefault-real-8

 Пробовал выдает кучу варнингов типа

Код:
main.for:19.22:
 
       COMMON/HIJJET2/NSG, NJSG(900), IASG(900,3), K1SG(900,100),
                     1
Warning: COMMON 'hijjet2' at (1) requires 4 bytes of padding at start
 

 
а результат тотже, после компиляции прога не работает.
 

Цитата:
а иначе -- ручками...

если так то и рехнутся не долго (8 тыс это только одна часть, втораяч около 20).

Цитата:
кстати, пока писал эту строчку, ещё увидел у тебя прокол -- у тебя же все функции сингловые!  

В том то и дело что не у меня, я просто использую 2 модуля для своих расчетов. Моя программа не больше полусотни строк.
 

Цитата:
надо только правильный тип в  функцию передать.

Дело в том, что во всех процедурах и функциях тип не явно задается, всюду наподобие

Код:
COMMON/HIPARNT/HIPR1(100),IHPR2(50),HINT1(100),IHNT2(50)
    SAVE  /HIPARNT/

 
Может тут чего можно изменить? К сожалению, сам я не знаю что (фортран пришлось учить несколько месяцев назад).

Всего записей: 55 | Зарегистр. 31-05-2007 | Отправлено: 20:43 18-02-2008 | Исправлено: han84, 20:50 18-02-2008
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
han84
хех... ещё и за размерами коммонов не уследили, наверняка ведь типы не описывали...
 
ок, меня самого заитересовало... тем более для меня грядёт встреча с тем же gfortran (правда, под Линем...)
итак, ты даёшь мне те два старинных модуля (в идеале и свою программу с тестовыми данными), я смотрю в чём дело...
победа -- я тебе возвращаю два готовых бинарника и объясняю в чём было дело (правда, _только_ под винды)
поражение -- ты при своих...
 
на всякий случай мыло:
мой ник на яндексе

Всего записей: 24106 | Зарегистр. 06-12-2002 | Отправлено: 21:21 18-02-2008
terminat0r



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM

Цитата:
тогда зачем, спрашивается, в доках заострять на этом внимание?

Для совместимости с ф77 - там действительно надо писать dlog а не log
программы в фиксированом формате по умолчанию воспр компилятором как ф77
 

Цитата:
IF 10.x  

ну интел, это интел- "что хочу то и делаю"
я вот смотрю в man  gfortran
например

Цитата:
 
EXP — Exponential function
Description:
    EXP(X) computes the base e exponential of X.  
...
Return value:
    The return value has same type and kind as X.  
 

 
han84
иногда проблемы возникают от 64 архитектуры (я правда встречал только с integer типами).
 
если у Вас такой старый модуль- почему бы не взять старый добрый g77 и не откомпилировать с ним?

Всего записей: 2084 | Зарегистр. 31-03-2002 | Отправлено: 21:52 18-02-2008 | Исправлено: terminat0r, 21:54 18-02-2008
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
terminat0r
ок, ты прав...
а я и на своём IF (щас..., ага, 10.1.0.14) остаюсь в рамках 77-ого
и единственное, что жду-не дождусь от стандарта 2003 -- это динамические строки на уровне языка...

Всего записей: 24106 | Зарегистр. 06-12-2002 | Отправлено: 21:58 18-02-2008
han84



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
ок, меня самого заитересовало.

Отправил вам исходники и результат работы после компиляции с ifort.

Цитата:
если у Вас такой старый модуль- почему бы не взять старый добрый g77 и не откомпилировать с ним?

Программу нужно будет потом распараллелить и запустить на кластере. А там установлен gfortran. Вот и приходится под него подстраиватся.

Всего записей: 55 | Зарегистр. 31-05-2007 | Отправлено: 22:36 18-02-2008
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
han84
ок, словил, смотрю...
пришли мне все опции, с кот. компилировалось
в дальнейшем переходим на мыло...

Всего записей: 24106 | Зарегистр. 06-12-2002 | Отправлено: 22:46 18-02-2008
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
недоделанный этот gfortran какой-то...
например, мне так и не удалось заставить при сквозной дабловой точности в коммон блоке первым интегер*4 расположить, та же ошибка, что и вверху у товарища:
 
integer*4 n, ndim(100)
COMMON /blabla/ n, ndim(100) ...
                        1
Warning: COMMON 'blabla' at (1) requires 4 bytes of padding at start  
 
так и хочет, гад, на *8 выровниться...
 
на нём кто-нибудь плотно сидит? имеет смысл под Л в качестве основного использовать или всё-таки IF?

Всего записей: 24106 | Зарегистр. 06-12-2002 | Отправлено: 21:43 19-02-2008 | Исправлено: akaGM, 21:43 19-02-2008
terminat0r



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM
some rules for declaring fortran common blocks and for declaring structures, in any language.
The rules are:
In any common block or structure, all 8 byte variables must start at an 8 byte boundary, relative to the start of the common block or structure.  
Similarly all 4 byte variables must start at a 4-byte boundary relative to the start of the structure or common.  
If a structure contains any 4 byte variables, its total length must be divisible by 4 without remainder.  
If a structure contains any 8 byte variables, its total length must be divisible by 8 without remainder.  
Rules 3 and 4 are present to ensure that all elments in arrays of structures will statisfy rules 1 and 2.  
 
If structures are nested inside strucutres or common blocks, then the rules reply recursively into the most deeply nested structure.
может поможет?
 
Why We Need the Rules  
Some machines require, and other only prefer, that:  
All doubles (real*8) start at an address which is divisible by 8 without remainder.  
All 4 byte variables start at an address which is divisible by 4 without remainder.  
Most machines only start common blocks, single structures and arrays of structures at 8 byte boundaries.
 
у вас случайно не 64 линукс, там действ у меня были мутки с  integer(8) и integer(4)  но только при испоьзовании с GSL+fgsl
 
Добавлено:
akaGM

Цитата:
на нём кто-нибудь плотно сидит? имеет смысл под Л в качестве основного использовать или всё-таки IF?

имеет смысл использовать все три ( ifort, gfortran, g95), и сравнить результаты при тестовой прогонке
 
Добавлено:
+ еще 3 забыл-  
Sun Studio с f95 (этот хорош!)
Open64 (этот прикольный- пока только для тестов)
NAG Fortran Compiler (этот задолбал меня со своими лицензиями- у нас одна сетевая, так когда нужно, то сервер постоянно в дауне, поэтому забил я на него.)
 
Добавлено:
у всех компиляторов разный уровень поддержки 95/2003 фортрана. Надо рыться в документации и сравнивать

Всего записей: 2084 | Зарегистр. 31-03-2002 | Отправлено: 15:59 20-02-2008 | Исправлено: terminat0r, 16:19 20-02-2008
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
terminat0r

Цитата:
some rules
гы
это где я недоРТФМил?
спас! всё прояснил...

Цитата:
NAG Fortran Compiler
тормоз...

Цитата:
Sun Studio с f95 (этот хорош!)
а этот, кроме как на солярке, на чём ещё бегает?

Цитата:
имеет смысл использовать все три ( ifort, gfortran, g95)
жизнь коротка...
для своих целей буду держаться за интела, т.к. давно на него посажен под виндой...
а вот что нам впендюрят на кластере, ещё не известно...


что-то не увидел...
а, ты правил в это время...

Цитата:
у вас случайно не 64 линукс, там действ у меня были мутки с  integer(8) и integer(4)  но только при испоьзовании с GSL+fgsl
нет, у меня win32 (но их о-о-очень много) со своей матухой + немного PORT'а и NAG-овских ошмёток
+ gentoo / mandriva IA32
и какой-то кластер собирается, даже не знаю на чём, под чем и с чем..
 
а что такое fgsl? gsl на фортране?
дай!

Всего записей: 24106 | Зарегистр. 06-12-2002 | Отправлено: 16:21 20-02-2008 | Исправлено: akaGM, 16:50 20-02-2008
terminat0r



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM

Цитата:
а что такое fgsl? gsl на фортране?  
дай!

Ловите!
http://www.lrz-muenchen.de/services/software/mathematik/gsl/fortran/index.html
 

Цитата:
Sun Studio с f95 (этот хорош!)  
 
а этот, кроме как на солярке, на чём ещё бегает?

бегает у меня на линуксе- имеет даже свою студию- только эклипс это все, java, тяжелое до ужаса...

Всего записей: 2084 | Зарегистр. 31-03-2002 | Отправлено: 17:17 20-02-2008
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
terminat0r
ок, словил... что-то я недоглядел в своё время...
надеюсь, 0.8 -- это его нумерация...
сейчас для народа даже в шапку подвешу...
давай туда и эту сан-студию

Цитата:
бегает у меня на линуксе- имеет даже свою студию- только эклипс это все, java, тяжелое до ужаса..

что-то я не понял ни фига... так свою или эклипс? или что? и что такое эклипс, это какой-то IBM'овский монстр?
+
у них свой компилятор или фронт-энд? тогда над чем?
давай эту студию тоже в шапку впихнём...
+
кстати, как раз по поводу IDE...
не посоветуешь что-нибудь лёгкое, вообще для полных чайников, для одновременной двухязычной игры с gcc и фортраном, хотя бы чтоб мейкфайлы по-человечески генерил и не на жабе, конечно...
а то я ковыряюсь сейчас на KDE-девелопере как дурак и так и не смог там gcc с gfortran'om
спарить, правда, я и в линаксе полный ноль, ну это чёрт с ним, mc хватает пока...

Всего записей: 24106 | Зарегистр. 06-12-2002 | Отправлено: 17:47 20-02-2008 | Исправлено: akaGM, 18:02 20-02-2008
terminat0r



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM

Цитата:
давай туда и сан-студи

http://developers.sun.com/sunstudio/
надо зарегистрироваться в SDN и тогда фри.
 

Цитата:
это какой-то IBM'овский монстр?

угадали

Цитата:
это отдельный компилятор или фронт-энд? тогда над чем?

и то и другое
короче если будет желание (сильное) то надо скачать 300 метров и тогда все будет видно  
 

Цитата:
а то я ковыряюсь сейчас на KDE девелопере как дурак и так и не смог там gcc с gfortran'om

а они лентяи, там интеграции с gfortran нету! ударились в всякие ruby и подобное...
Я им уже пол года назад писал, а они ответили- паяльник и рашпиль в руки и делай, им это не интересно.
 
Так как я тоже с виндовса пришел (давно), то использую обыкновенный kate с некоторыми плагинами.
(make, snippets, symbol viewer)
у нас все используют  Emacs или что попало...
можно юзать photran (ничего, но тот же еклипс-ява= тормоз)
или  GNAT Programming Studio (не понравилось)
ну и студию от SUN

Всего записей: 2084 | Зарегистр. 31-03-2002 | Отправлено: 18:17 20-02-2008
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
terminat0r
ясно...

Цитата:
у нас все используют Emacs

ну так...
для этого надо много чего перепробовать...
я вот себе пока инструмент по руке нашёл
у меня под виндой самый крутой интегратор -- EditPlus! -- настроил как скрипку:
вся консоль для
с
дельфи
фор
хтмл/css/js со всеми перлами ПыХаПыми
текст

Цитата:
то использую обыкновенный kate

хм
кинь сцилой?
 
+
графики рисуешь, хотя бы простецкие ху?
гуй лепишь?

Всего записей: 24106 | Зарегистр. 06-12-2002 | Отправлено: 18:31 20-02-2008 | Исправлено: akaGM, 18:33 20-02-2008
terminat0r



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM

Цитата:
хм  
кинь сцилой?

да даже бросать как-то неудобно, в каждом линкусе с кде стоит
но если посмотреть то  
http://kate-editor.org/
плагины идут вместе, но некоторые поновее и отдельно есть на
http://www.kde-apps.org/content/search.php
задать поиск по kate
 

Цитата:
графики рисуешь, хотя бы простецкие ху?  
гуй лепишь?

рисую программно, но не в фортране
гуев не нужно (и даже вредно, все у нас против )
вывод- таблица- а дальше gnuplot, gle, octave+gnuplot,
иногда xgrace, kpl, maple и matlab
Временами колега быстренько на perl ваяет все, что надо...  

Всего записей: 2084 | Зарегистр. 31-03-2002 | Отправлено: 19:07 20-02-2008
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
terminat0r

Цитата:
да даже бросать как-то неудобно, в каждом линкусе с кде стоит

говорю ж: дремучий... а что с кде стоит вот это здорово...

Цитата:
рисую программно, но не в фортране

ну либы-то хоть озвучь? универсальные чтоль какие?

Цитата:
гуев не нужно (и даже вредно)

ха! кто бы спорил, только моих бы юзверей к тебе, а вообще, я всех тоже потихоньку приучаю в far всё делать...
моя идеология -- я вам посчитаю, а обрабатывать/визуализацией заниматься -- не моё это дело, я всё равно лучше спецов не сделаю, только время убью...
кстати, нашёл замечательную кросс-платформу в сырсах типа Оrigin:
http://soft.proindependent.com/qtiplot.html
три дня парился чтоб к виндам прикрутить, как раз траблы с gsl были (WinGSL-порт полное дерьмо), но ничего, под msys собрал саму gsl
вдруг не знаешь, может пригодится...

Всего записей: 24106 | Зарегистр. 06-12-2002 | Отправлено: 19:40 20-02-2008
terminat0r



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM

Цитата:
ну либы-то хоть озвучь? универсальные чтоль какие?  

никаких либов, никакой компиляции- только скрипты- gnuplot, gle, octave.
запустил- и вывод или в pdf, ps или на екран.

Всего записей: 2084 | Зарегистр. 31-03-2002 | Отправлено: 19:49 20-02-2008
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
terminat0r
чтоб я так жил...
unix-style, однако...

Всего записей: 24106 | Зарегистр. 06-12-2002 | Отправлено: 19:53 20-02-2008
Открыть новую тему     Написать ответ в эту тему

Страницы: 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 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы программирования на FORTRAN (ФОРТРАН)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru