Mentat 2010

Форуми на CAD.de (всички форуми)
MSC. Софтуерни симулационни решения
MSC.Marc Mentat 2010.2/Променете параметрите на компилатора Fortran (ifort)

mentat

Принос: 8
Регистриран: 12 април 2010 г.

следния проблем:
Създадох статична библиотека и бих искал да я включа, когато компилирам потребителския си суб (hypela2). За тази цел пътят обикновено се предава на компилатора с -I PATH. По желание също бих искал моят потребителски суб да бъде компилиран с -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 ч. Изпратете единици: Само за Sheeepy

Принос: 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/common \
-I $ MARC_SOURCE/bcssolver/common -I $ MARC_SOURCE/mumpssolver/включва $ I8DEFINES -DLinux -DLINUX -DLinux_intel $ FDEFINES $ DDM $ SOLVERFLAGS "
.

т.е. -O3 тогава просто ще напише $ FORTHIGH вместо $ FORTRAN, но само ако run_marc може да бъде обработен.

В заглавката на run_marc:
# -u * потребителска потребителска подпрограма. . . #
# -obj obj потребителски обекти или библиотеки. . . #
Така че потребителските обектни файлове също трябва да работят (предполагам)
Така че е възможно. статичната библиотека или, ако е необходимо, самокомпилиран потребителски под. Чудя се обаче къде мога да направя това в Mentat. Тъй като в момента така или иначе работя върху ssh, стартирам директно run_marc. Би било интересно обаче да видя къде в Mentat мога да определя това?

Търсите ново професионално предизвикателство и бихте искали такова честно и лично набиране За да се свържете? заради нашите дългогодишен опит mara Personalservice GmbH е правилният контакт.

Принос: 8
Регистриран: 12 април 2010 г.

Решение:
Компилирайте сами потребителя (ifort -c usersub.f) и включете обектния файл, като използвате параметъра run_marc -obj (-obj usersub.o).
Не знам обаче как работи това чрез графичния интерфейс на Mentat.

Това ми се струва (засега) най-доброто решение.