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

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 пользователей

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




  • Сообщения

    • Kelny
      Очень давно как раз было хорошо, когда Solidworks печатал ещё через встроенный виртуальный принтер BlueBeam эдак в версиях Solidworks 2004-2006, но потом перешли на Adobe и стало кривовато, да так что до сих пор аукается.   В винде такая же сторонняя программа, удалите ту что там и поставьте PDFCreator (если будете использовать макрос, то ту версию, которая рядом лежит, т.к. последние версии не подходят под старый макрос).   Дык это же разные программы и не факт что у последней есть API для встройки в макрос, а у PDFCreator API есть.   Если есть готовое, то зачем мучиться? Ну тогда можете просто в ручную печатать через этот встроенный виртуальный принтер.
    • Артур8991
      А можите скинуть пожалуйста какая у вас есть?)
    • lem_on
      Как хорошо когда вокруг все дураки, а Шура один умный ))) ещё предложи тюремный вариант провоза, для личного пользования. 
    • gudstartup
      вы лично таким маршрутом пользовались? а еще можно через Гималаи на лыжах махнуть или дипломатической почтой  реально подождать и ничего с вашим станком не случится к тому же нормальное производство имеет мощности для резервирования. 45 дней подождать или под лавину в Гималаях!! он что время до взрыва бомбы отсчитывал!? а можно на подводной лодке еще, вы серьезно что ли. досматривают в любом случае хоть туда хоть оттуда а может надо нанять гипнотизера и он стоя рядом внушит таможеннику что вы утюг вместо привода везете тогда путь свободен!
    • Killerchik
      Так речь о экспорте или импорте? Вы написали изначально "не пустят обратно" и я решил, что Вы говорите о таможне РФ. Как правило, при личном везде таможенники в разы сговорчивее. Если Вы говорите о том, что не выпустит таможня Китая - ну так можно лететь через третьи страны, не? Ещё разок - речь о ситуациях, когда нужно срочно. Правда нужно - то есть отдать пусть даже несколько лимонов рублей - не проблема. И слетать через 3-4 страны не проблема. пиэс- в 2017 году у меня на станке сдох ЧПУ контроллер компании Delta Tau. Рассматривали варианты экстренного привоза из США, на счету был каждый час. Плату по итогу помогли восстановить крутые парни из РФ. Но варианты экстренного привоза всего, что можно легально вывезти из США в багаже тогда были прямо на Авито: чел с визой летит туда ближайшим рейсом и привозит нашу гравицапу.
    • gudstartup
      тогда платите в 10 раз дороже ....
    • gudstartup
      это вы с таможенником спорить будите, вся продукция фанук запрещена к экспорту в россию. пользуйтесь услугами резидентов поднебесной и нечего с рюкзаками по заграницам ездить.
    • AlexArt
      @Jesse, а ну отлично! Не знал, что ваши познания стали настолько высокими, что вам мало готовых методик и вы решили разработать новую. Удачи защитить её и опубликовать. С удовольствием почитаю.
    • Александр1979
      Иногда требуется. 
    • gudstartup
      с момента отлучения все что делает сименс для них  недоступно и они обычные люди правда с большим инструментарием но он к сожалению устаревает. сомневаюсь также что они готовы просто так поделиться теперь это бизнес и он стал очень дорогим. а оно вам надо?
×
×
  • Создать...