Перейти к публикации

Abaqus + gfortran в Windows


Рекомендованные сообщения

Есть ли у кого-нибудь опыт успешного использования gfortran (или других бесплатных вариантов) в качестве компилятора пользовательских подпрограмм в Abaqus под Windows?

Если да, что для этого нужно? Какие изменения в abaqus_v6.env и abq.bat файлах, системных переменных? Может быть, что-то еще?

 

Ссылка на сообщение
Поделиться на других сайтах


Самый простой и бесплатный вариант на месяц - триальный компилятор Intel Fortran на сайте Intel. Как обойти ограничение? После истечения триала регистрируйте аккаунты своих дядь, тёть, бабушек и дедушек и скачивайте с их аккаунтов новую триалку, вроде как Intel не запрещает подобный финт ушами.

 

Могу ошибаться, но я не помню, чтобы  на Windows gfortran шёл без linux-овых надстроек типа mingw, sygwin, msys и пр. Гнутый компилятор (gcc, g++ и т.д.), по идее, должен скомпилировать всё, что удовлетворит стандартам языка, но основная трабла не в компиляции исходников в объектники, а в их итоговой сборке линковщиком. Т.е., надо смотреть, одинаковая ли структурах объектных файлов iFortran и gfortran, т.к. gnu-тый линковщик далеко не факт, что поймёт, как собирать бинарник из разных объектников. Летом я пытался под Windows собрать в бинарник объектники проекта CalculiX-CUDA, где куски кода собираются двумя разными компиляторами Visual С++ и gfortran - оказалось, что данные компиляторы физиологически не совместимы друг с другом (то ли дело собирать данный проект под Linux, т.к. в среде CUDA под Linux используются gnu-тые компиляторы, полностью совместимые друг с другом).

 

Т.е., для начала забудьте про Abaqus и смотрите в инете, собираются ли в единый бинарник объектники iFortran и gfortran. Если да - то останется раздобыть руководство программиста под Abaqus, скорее всего в нём описана процедура подключение прочих компиляторов.

 

Изменено пользователем AlexKaz
Ссылка на сообщение
Поделиться на других сайтах
2 hours ago, Yugo said:

бесплатных вариантов .... Abaqus под Windows?

Если используется студенческий абакус, почему не взять к нему студенческий intel fortran?

 

А если абакус с комм. лицензией, то лицензия на VS + Intel Fortran вообще ничего по сравнению с ценами продуктов DS)

ЗЫ еще и студенческая VS понадобится.

2 hours ago, Yugo said:

Какие изменения в abaqus_v6.env и abq.bat файлах, системных переменных?

http://cccp3d.ru/topic/41945-забавные-и-поучительные-примеры-в-abaqus/?do=findComment&comment=440091

Ссылка на сообщение
Поделиться на других сайтах

Всем доброго дня.

Спасибо откликнувшимся.

В 8.1.2018 в 18:58, AlexKaz сказал:

как собирать бинарник из разных объектников

Там один объектник, насколько я понимаю. Не нужна совместимость компиляторов. Нужно только, чтобы Абакус мог запустить правильно gfortran, а тот, в свою очередь, создать библиотеку, которую Абакус сможет нормально использовать. Пока не получается, выдает странную ошибку при компилировании:

gfortran: error: /I".": Invalid argument

Странную, так как в моем .env файле такой опции "/I" нет в переменной compile_fortran. Собственно, я вообще все опции, кроме "-c", убирал. Может, Абакус что-то свое по умолчанию добавляет?

 

Насчет руководства к Абакусу - сомневаюсь. Если ничего не изменилось, официально поддерживается только ifort (то есть Intel Fortran).

Изменено пользователем Yugo
Ссылка на сообщение
Поделиться на других сайтах
18 минут назад, Yugo сказал:

Там один объектник, насколько я понимаю. Не нужна совместимость компиляторов. Нужно только, чтобы Абакус мог запустить правильно gfortran, а тот, в свою очередь, создать библиотеку, которую Абакус сможет нормально использовать. Пока не получается, выдает странную ошибку при компилировании:

gfortran: error: /I".": Invalid argument

Вы запускаете батник из среды mingw? Полное содержание батника покажите? А также путь проекта и путь, где Абакус хранит инклуды и библиотеки.

24 минуты назад, Yugo сказал:

Может, Абакус что-то свое по умолчанию добавляет?

Надо смотреть переменные среды.

25 минут назад, Yugo сказал:

Нужно только, чтобы Абакус мог запустить правильно gfortran, а тот, в свою очередь, создать библиотеку, которую Абакус сможет нормально использовать.

Как дело обстоит в абакусе, я не в курсе, но в LS-Dyna (надо полагать, и ANSYS) бинарник и длл-ки не из воздуха собирают, а из прекомпилированного объектника, собранного в iFortran + инклуды - с таким списком gfortran не компильнёт новый бинарник дайны по причины, которую я назвал.

Ссылка на сообщение
Поделиться на других сайтах
В 10.1.2018 в 09:54, AlexKaz сказал:

Вы запускаете батник из среды mingw?

Не совсем понимаю, что значит из среды mingw?

Вообще, я запускаю не батник, а команду Абакуса "verify" из cmd. Она должна проверить возможность компиляции и последующего создания... наверное библиотеки dll.

Команда эта создает папку verify помещает туда тестовый файл с программой на фортране. Дальше делает с ним все то, что по идее должна с пользовательской подпрограммой. Проверяет результат и, если все нормально пишет PASS и удаляет созданную папку. Если нет, там можно посмотреть лог файл.

Там, в этом файле, на этапе еще компиляции вылезают ошибки.

Вот вырезка из него:

 

Begin Compiling Abaqus/Standard User Subroutines
1/10/2018 11:59:45 AM
gfortran: error: /I".": Invalid argument
gfortran: error: /I.: No such file or directory
gfortran: error: /I"D:\Abaqus\Abaqus\6.14-6\code\include": Invalid argument
gfortran: error: /ID:\Abaqus\Abaqus\6.14-6\code\include: Invalid argument
gfortran: error: /IC:\Program Files\Microsoft HPC Pack 2008 R2\Inc: Invalid argument
gfortran: error: /IC:\Program Files\Microsoft HPC Pack 2008 R2\Inc: Invalid argument
gfortran: error: /IC:\Program Files\Microsoft HPC Pack 2008 R2\Inc: Invalid argument
gfortran: error: /IC:\Program Files\Microsoft HPC Pack 2008 R2\Inc: Invalid argument
Abaqus Error: Problem during compilation - std_user.for

 

Я думал, что команда на компиляцию вместе с ключами задается абакусовским .env файлом. Там у меня нет ключей /I. Там все ключи начинаются с "-". При этом сама команда (gfortran) совпадает с тем, что в .env файле написано. По умолчанию там ifort.

В 10.1.2018 в 09:54, AlexKaz сказал:

Надо смотреть переменные среды.

Там, конечно, тоже может быть ошибка, но почему все упирается в Invalid argument?

 

Вообще, сейчас нет времени дальше копать, да и пока не особо нужно. Разместил пост в надежде, что кто-то уже сталкивался и знает простую последовательность действий. Для Линукса, например, она (последовательность эта) находится. Для Виндоус - пока нет.

Изменено пользователем Yugo
Ссылка на сообщение
Поделиться на других сайтах

Вне консоли среды mingw, msys, sygwin и пр. gfortran не запустится. Т.е. сначала запускается линуксовая консоль обозначенной среды (не виндовая cmd и не powershell), из неё запускается gfortran или иной батник. Ваш gfortran не может подцепить переменные среды, которые должна установить эмулятор линуксовой среды при запуске в виндовс, отсюда ошибки.

Ссылка на сообщение
Поделиться на других сайтах
1 hour ago, AlexKaz said:

Т.е. сначала запускается линуксовая консоль обозначенной среды (не виндовая cmd и не powershell), из неё запускается gfortran или иной батник.

Тогда нужно и abaqus verify запускать из этой консоли.

Даже когда родные Intel Fortran и VS устанавливаются, для установки переменных сред нужно запускать абакус оттуда.

Или вообще прописывать их в батнике для запуска абакуса.

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




×
×
  • Создать...