Próbuję napisać model użytkownika w Fortran, który można podłączyć do symulatora procesu Aspen Plus. Czy Fortran 90 może być użyty, czy Aspen działa tylko ze starszym Fortranem 77? Sprawdziłem dokumentację Aspen Plus, ale nie mogę znaleźć informacji o tym, z którymi wersjami Fortran jest kompatybilny.
1
Nat miał rację, że Aspen nie obchodzi tak długo, jak twój kompilator może produkować DLL z kodu Fortrana 90 (co większość robi). Jednak odkryłem, że pliki Aspena, które muszą być zawarte w większości modeli użytkowników, są zapisywane w stałym formacie (styl formatowania używany z Fortranem 77). Więc kiedy używasz kodu Fortran 90 w wolnym formacie, otrzymujesz mnóstwo błędów kompilatora z powodu kombinacji formatowania stałego i wolnego. Tam jest rozwiązanie Jednak: umieszczaj dyrektywy wokół linii włączających, które przełączają się na stały format tylko dla dołączonych plików.
Oto przykład z centrum wsparcia Aspen. Jest to model użytkownika, który ma obliczyć lepkość związku.
Przykład został pierwotnie napisany dla Fortran 77 (więc używał stałego formatowania) i dokonałem kilku zmian niezbędnych do skompilowania go za pomocą darmowego formatowania. Jednak podczas kompilacji otrzymujesz ciąg błędów, które pochodzą z plików Aspen zawartych w podprogramie (więc dms_plex.cmn i ppexec_user.cmn). Oto przykład jednego z błędów:
Ponownie wydaje się, że kompilator podaje błąd, ponieważ pliki Aspen są zapisywane w stałym formacie i kompilujemy w wolnym formacie. Aby obejść ten tryb, dyrektywy, które przełączają się na stały format iz powrotem.
Kiedy używam tych dyrektyw wokół instrukcji include, kompilator działa bez błędów i mogę użyć modelu użytkownika Fortran 90 w Aspen.
źródło