/ / Wykonanie modelu Abaqus w Tavernie - ssh, scp, beanhell, abaqus, taverna

Wykonywanie modelu Abaqus w Tavernie - ssh, scp, beanhell, abaqus, taverna

Jestem całkiem nowy zarówno dla Taverny, jak i Abaqusa, ale japróbuję uruchomić model Abaqus za pomocą "Narzędzia" w Tavernie zdalnie w HPC. Działa to dobrze, jeśli mam już swój plik modelu i dane wejściowe w HPC, ale potrzebuję sposobu dynamicznego wgrywania plików w Tavernie (starając się ogólnie owijać modele Abaqus).

Próbowałem już dodać port wejściowy, który pobiera pliklista, ale nie wiem, jak mogę skopiować go do "lokalizacji", którą ustawiłem dla tego narzędzia. Czy usługa skrótu może być odpowiedzią lub czy mogę powtórzyć listę plików i skopiować je przed wykonaniem modelu abaqus?

Dzięki

Odpowiedzi:

2 dla odpowiedzi № 1

Kiedy mówisz, że utworzyłeś port wejściowy, który pobiera listę plików, myślę, że masz na myśli dane wejściowe do usługi narzędzia.

Zakładając, że port wejściowy nazywa się my_file_list,kiedy usługa narzędziowa zostanie uruchomiona, pobierze listę wartości danych na porcie my_file_list. Jako przykład powiedzmy, że ma "cześć", "cześć" i "hola" to trzy wartości na liście.

W miejscu, w którym uruchamiana jest usługa narzędziowawykonuje się w katalogu tymczasowym - innym katalogu dla każdego wykonania usługi. Zwykle jest to coś w stylu / tmp / usecase-2029778474741087696

Trzy pliki zostaną utworzone w katalogu tymczasowym; pliki te zawierają (w tym przykładzie) trzy wartości usługi narzędzia odebrane na porcie my_file_list. Pliki mogą być wywoływane

  • /tmp/usecase-2029778474741087696/tempfile.0.tmp zawierający hello
  • /tmp/usecase-2029778474741087696/tempfile.1.tmp zawierający hi
  • /tmp/usecase-2029778474741087696/tempfile.2.tmp zawierający hola

Pojawi się również plik o nazwie my_input_list. Ten plik będzie zawierać

/tmp/usecase-2029778474741087696/tempfile.0.tmp
/tmp/usecase-2029778474741087696/tempfile.1.tmp
/tmp/usecase-2029778474741087696/tempfile.2.tmp

Skrypt służący do obsługi narzędzi zwykle odczytuje zawartość linii my_input_list po linii i robi coś z zawartością podanego pliku (ów).

Widziałem także kilka skryptów, które "oszukują" iiteruj bezpośrednio przez tempfile * .tmp, ale to byłoby "coś złego". Problem z tą sztuczką polega na tym, że jeśli chcesz dodać drugą listę plików do usługi narzędziowej, plik mój_input_list może zawierać

/tmp/usecase7932018053449784034/tempfile.4.tmp
/tmp/usecase7932018053449784034/tempfile.5.tmp
/tmp/usecase7932018053449784034/tempfile.6.tmp

ponieważ inne pliki tymczasowe zostały użyte dla innego portu listy plików.

Mam nadzieję że to pomogło


1 dla odpowiedzi nr 2

Usługa narzędzia pozwala prześlij pliki - ale jeśli korzystasz z HPC poprzez pracęwęzeł przesyłania, wówczas trzeba zmodyfikować narzędzie wiersza poleceń, aby następnie użyć komendy przemieszczania pliku zadania, aby dalej przekazywać pliki jako część zadania. Pliki będą dostępne w bieżącym (tymczasowym) katalogu określonego skryptu narzędzia.

Spróbowałbym zrobić to za pomocą usługi Tool i nie angażować fasoli - wtedy możesz uprościć swój przepływ pracy.

Warto pamiętać, że w polu można pisać wiele poleceń powłoki.

Podobnie prawdopodobnie chcesz odzyskaćz powrotem wyniki, aby można było przetwarzać je dalej w przepływie pracy (chyba że są one masywne - w takim przypadku powinieneś po prostu wypisać zdalne nazwy plików i wysłać je ponownie do następnego zadania HPC)

Dokładne polecenia używane do przemieszczania plików i ich pobierania zależą od systemu przekazywania zadań HPC. Którego używasz?


1 dla odpowiedzi nr 3

Dzięki za wejście. To było moje niezrozumienie, w jaki sposób Taverna używa listy plików. Wszystkie pliki na liście są kopiowane do tymczasowej "piaskownicy" i dlatego są dostępne do użytku. Innym dobrym sposobem jest skompresowanie katalogu i przekazanie spakowanych plików do portu wejściowego dla usługi. Następnie wystarczy rozpakować pliki wewnątrz polecenia. Dzięki jeszcze raz