Ментат 2010

Форуми на CAD.de (усі форуми)
MSC. Рішення для моделювання програмного забезпечення
MSC.Marc Mentat 2010.2/Змінити параметри компілятора Fortran (ifort)

2010

Внески: 8
Зареєстровано: 12 квітня 2010 р

наступна проблема:
Я створив статичну бібліотеку і хотів би включити її під час компіляції мого userub (hypela2). Для цього шлях зазвичай передається компілятору за допомогою -I PATH. За бажанням, я також хотів би, щоб мій userub був скомпільований з -O3 (оптимізація). Однак у мене немає прав root для редагування run_marc (run_marc компілює користувальницькі посилання приблизно з рядка 2807). Крім того, модифікація run_marc була б недоцільною, оскільки користувальницький суббуд був би лише частково портативним.

Рішенням проблеми "статичної бібліотеки" було б модифікація змінної середовища LD_LIBRARY_PATH, але це також слід враховувати при перенесенні.

Або в Marc є можливість імпортувати файли об’єктів замість файлів fortran, тобто зняти Marc із компіляції?

[Це повідомлення було відредаговано Sheeepy 14 жовтня 2011 р.]

[Це повідомлення було відредаговано Sheeepy 14 жовтня 2011 р.]

Внески: 773
Зареєстровано: 13 грудня 2008 року

створено: 14 жовтня 2011 р., 11:58. Тільки для Шипі

Внески: 8
Зареєстровано: 12 квітня 2010 р

У run_marc компіляція здійснюється за допомогою двох змінних:
$ FORTRAN $ користувачів
Я не можу повністю зрозуміти (оскільки я не можу редагувати run_marc), звідки походить $ FORTRAN. Ви можете втрутитися при створенні цієї змінної, щоб додати до неї параметри.

Внески: 8
Зареєстровано: 12 квітня 2010 р

Тому я трохи шукав каталоги Marc:
знайдено у: ./marc20102./tools/include_linux64
.
FCOMP = ifort
.
FORTRAN = "$ FCOMP -c -завантажте byterecl -safe_cray_ptr $ PROFILE -save -zero -mp -WB -w90 -O1 $ I8FFLAGS -I $ MARC_SOURCE/загальне \
-I $ MARC_SOURCE/bcssolver/common -I $ MARC_SOURCE/mumpssolver/include $ I8DEFINES -DLinux -DLINUX -DLinux_intel $ FDEFINES $ DDM $ SOLVERFLAGS "
.

тобто -O3 тоді просто потрібно було б записати $ FORTHIGH замість $ FORTRAN, але лише за умови, що run_marc може бути оброблений.

У заголовку run_marc:
Підпрограма # -u * користувача. . . #
# -obj obj користувацькі об'єкти або бібліотеки. . . #
Отже, файли об’єктів користувача також повинні працювати (я думаю)
Так могло можливо. статична бібліотека або, за необхідності, самостійно скомпільований користувальницький файл. Однак мені цікаво, де я можу це налаштувати в Ментаті. Оскільки я зараз працюю над ssh, я запускаю run_marc безпосередньо. Однак було б цікаво подивитися, де в Ментаті я можу це визначити?

Ви шукаєте новий професійний виклик і хотіли б його чесний та особистий набір Зв'язатися? через наш багаторічний досвід mara Personalservice GmbH - правильний контакт.

Внески: 8
Зареєстровано: 12 квітня 2010 р

Рішення:
Скомпілюйте userub (ifort -c usersub.f) самостійно та включіть об'єктний файл за допомогою параметра run_marc -obj (-obj usersub.o).
Однак я не знаю, як це працює через графічний інтерфейс Mentat.

Мені здається (поки що) це найкраще рішення.