March 28th, 2025
Ten protokół przedstawia ogólny proces budowy sztucznej sieci neuronowej do symulacji spawania przy użyciu zestawów danych generowanych automatycznie przez skrypty Pythona z funkcjami makr. Przebieg pracy jest weryfikowany w odniesieniu do przypadku porównawczego obejmującego spawanie jednoprzebiegowe w linii prostej. Dokładność predykcyjna modelu zastępczego wykazuje silną zgodność z symulacjami elementów skończonych.
Zakres moich badań koncentruje się na opracowywaniu wydajnych modeli zastępczych z wykorzystaniem uczenia maszynowego, w szczególności sztucznych sieci neuronowych do przewidywania naprężeń szczątkowych wywołanych spawaniem. Skupiamy się przede wszystkim na tym, jak zautomatyzować generowanie danych do symulacji spawania w celu zwiększenia wydajności. Ustaliliśmy, że automatyzacja generowania danych za pomocą skryptów i funkcji makr języka Python znacznie skraca czas konfiguracji symulacji, umożliwiając tworzenie dużych zbiorów danych.
Ponadto nasz model obwodu oparty na sztucznej sieci neuronowej dokładnie przewiduje naprężenia szczątkowe wywołane spawaniem, osiągając względny błąd średniokwadratowy równy 0,0024. osiągając względny błąd średniokwadratowy równy 0,0024. Nasz protokół oferuje korzyści poprzez automatyzację generowania danych za pomocą skryptów Pythona i funkcji makr, redukując czas i wysiłek wymagany do konfiguracji symulacji i ekstrakcji danych.
Zapewnia to spójność i umożliwia tworzenie obszernego zestawu danych do trenowania modeli uczenia maszynowego. Aby rozpocząć, otwórz Abaqus i kliknij plik, a następnie ustaw katalog roboczy, aby ustawić katalog roboczy. Następnie kolejno kliknij plik macromanager pracy i utwórz makro o nazwie nagrywanie termiczne
.Utwórz model dla próbek spawalniczych. Jako przykład można użyć pojedynczego ściegu spoiny w przypadku wzorcowym konstrukcji płyty. Kliknij część, a następnie utwórz część.
Utwórz odkształcalny połówkę modelu 3D próbki, wyciągając kwadratowy szkic na płaszczyźnie XY. Teraz kliknij część, przejdź do opcji Utwórz płaszczyznę odniesienia i wybierz odsunięcie od płaszczyzny głównej. Umożliwia zdefiniowanie punktu początkowego i końcowego spawania, określając odsunięcia od płaszczyzny YZ na podstawie długości ściegu.
Następnie utwórz dwie dodatkowe płaszczyzny odniesienia dla głębokości i szerokości ściegu, określając odsunięcia odpowiednio od płaszczyzny XY i płaszczyzny XZ. Kliknij część i wybierz opcję użycia płaszczyzny odniesienia komórki partycji, aby utworzyć partycje komórki próbki przy użyciu czterech płaszczyzn odniesienia. Następnie kliknij część i wybierz opcję Utwórz wyciągnięcie bryły.
Utwórz szkic na jednej z płaszczyzn odniesienia, aby zdefiniować część ściegu spoiny pod górną powierzchnią próbki. Użyj łuku i dwóch linii podążających za wymiarami ściegu. Wyciągnij szkic na głębokość długości ściegu, aby utworzyć cięcie.
Następnie wyciągnij szkic do długości ściegu, wybierając opcję Zachowaj obwiednie wewnętrzne. Kliknij element, a następnie wybierz opcję Utwórz płaszczyznę odniesienia i odsuń od płaszczyzny głównej. Naszkicuj ścieg spoiny, używając dwóch łuków w jednej linii na jednej z płaszczyzn odniesienia.
Kliknij część, wybierz komórkę partycji i użyj płaszczyzny odniesienia, aby utworzyć partycje komórki próbki przy użyciu czterech płaszczyzn odniesienia do znalezienia. Aby zdefiniować materiał ze stali nierdzewnej AISI 316 LN, kliknij właściwość i utwórz materiał, a następnie zdefiniuj gęstość w menu ogólnym oraz przewodność i ciepło właściwe w menu termicznym na podstawie danych zależnych od temperatury. Następnie przypisz materiał do modelu.
Kliknij właściwość, a następnie utwórz przekrój, aby utworzyć jednorodny przekrój bryły ze zdefiniowanym materiałem. Kliknij właściwość, przypisz przekrój, aby przypisać utworzony przekrój do modelu. Teraz kliknij krok, a następnie krok tworzenia, aby utworzyć krok wymiany ciepła o nazwie spawanie z okresem czasu 26,43 i stałym przyrostem czasu 0,1, zapewniając brak nieliniowości geometrii.
Utwórz kolejny krok wymiany ciepła o nazwie chłodzenie z okresem czasu 70, używając adaptacyjnych przyrostów czasu z początkowymi, minimalnymi i maksymalnymi rozmiarami przyrostów ustawionymi odpowiednio na 0,1, 0,05 i 5. ustawionymi odpowiednio na 0,1, 0,05 i 5. Na koniec utwórz krok wymiany ciepła o nazwie chłodzenie dwa z okresem czasu 2 000 przy użyciu adaptacyjnych przyrostów czasu z początkowymi, minimalnymi i maksymalnymi rozmiarami przyrostów ustawionymi odpowiednio na 5, 1 i 100.
Aby ustawić atrybuty modelu, kliknij model, edytuj atrybut. aby uzyskać dostęp do ustawień atrybutów. Ustaw temperaturę zera bezwzględnego na 273,15.
Ustaw temperaturę zera bezwzględnego na 273,15. Określ stałą Stefana-Boltzmanna jako 5,67 x 10 do potęgi 11. Kliknij krok i utwórz dane wyjściowe pola, aby ustawić żądanie temperatury węzłowej dla całego modelu.
Następnie kliknij na assembly i utwórz instancję, aby utworzyć instancję zależną. Następnie kolejno kliknij interakcję, utwórz interakcję i warunek warstwy powierzchniowej, aby utworzyć interakcję stanu warstwy powierzchniowej ze współczynnikiem warstwy 15 i temperaturą opadania 20 na wszystkich powierzchniach modelu z wyjątkiem płaszczyzny symetrycznej. Ustaw krok początkowy jako spawanie.
Teraz kolejno kliknij interakcję, utwórz interakcję i promieniowanie powierzchniowe, aby utworzyć interakcję promieniowania powierzchniowego o emisyjności 0,7 i temperaturze otoczenia 20 na wszystkich powierzchniach modelu z wyjątkiem płaszczyzny symetrycznej. Ustaw krok początkowy jako spawanie, zdefiniuj obciążenia w module obciążenia. Kliknij obciążenie, utwórz obciążenie termiczne i strumień ciepła ciała, aby utworzyć zdefiniowane przez użytkownika obciążenie strumienia ciepła ciała, które rozpoczyna się na etapie spawania i jest nieaktywne podczas dwóch etapów chłodzenia.
Następnie kliknij Załaduj, utwórz predefiniowane pole, inne i pole, aby utworzyć predefiniowane pole temperatury, zaczynając od początkowego kroku, aby reprezentować temperaturę pokojową 20. Aby utworzyć siatkę w module siatki, kliknij siatkę, wybierz obiekt, który ma być częścią i część źródłową, aby zasiać część o globalnym rozmiarze 0,0024. Kliknij siatkę, a następnie krawędzie zasiewu, aby zasiać krawędzie głębokości ściegu i szerokości ściegu przez liczbę 3.
Zasiać krawędź łuku liczbą 3, a krawędź długości ściegu rozmiarem 0,0015. Następnie kliknij siatkę, przypisz kontrolki siatki i użyj elementu kształtu TET z techniką swobodną dla obszaru koralików. Kliknij siatkę, przypisz typ elementu i ustaw typ elementu na DC 3D 10, a następnie utwórz siatkę elementu.
Użyj siatki, a następnie krawędzi zasiadkowych, aby zasiać krawędzie współliniowe do osi X w obszarze siatki drobnoziarnistej o rozmiarze 0,0015, krawędzi osi Y o rozmiarze 0,0011 i krawędzi osi Z o rozmiarze 0,00075. i krawędzi osi Z o rozmiarze 0,00075. Teraz kliknij siatkę, a następnie przypisane kontrolki siatki, aby przypisać kontrolę siatki do pozostałego regionu, używając elementu w kształcie szesnastkowym z techniką przeciągnięcia.
Następnie kliknij na siatkę, przypisz typ elementu i ustaw typ elementu na DC 3D 20, a następnie utwórz siatkę części. Kliknij na job, create job, aby utworzyć zadanie o nazwie thermal analysis i dołączyć podprogram użytkownika D flux. Zatrzymaj nagrywanie makra.
Upewnij się, że plik języka Python o nazwie abaqusMacros. py został wygenerowany w katalogu roboczym. Na koniec kliknij zadanie, menedżer zadań i prześlij.
Zostanie wygenerowany plik wynikowy o nazwie ThermalAnalysis. odb. Naprężenia podłużne wzdłuż linii BD wykazywały stałą zmienność w różnych kombinacjach długości łuku, prędkości posuwu łuku i szybkości poboru energii netto, przy czym naprężenia osiągały szczyt bliżej powierzchni i zmniejszały się na większych głębokościach.
Większość rozbieżności między symulacją elementów skończonych a przewidywaniami sztucznych sieci neuronowych mieściła się w zakresie od 0 do 2 megapaskal, co stanowiło 45,2% danych testowych. Przedziały poziomu stresu z mniejszą liczbą punktów danych treningowych wykazywały wyższe maksymalne rozbieżności w testowym zestawie danych, co widać w bezwzględnych resztach określonych przedziałów. Przewidywania dotyczące sztucznych sieci neuronowych były ściśle zgodne z wynikami symulacji elementów skończonych z błędem średniokwadratowym wynoszącym 0,0024.
Ten protokół opisuje przepływ pracy przy budowie sztucznej sieci neuronowej do symulacji spawania przy użyciu zautomatyzowanych zestawów danych generowanych przez skrypty Python. Przepływ pracy jest zweryfikowany na przykładzie ławorowym pojedynczego przejścia prostoliniowego spawania, wykazując dużą dokładność predykcyjną.
Automated surrogate modeling for welding-induced residual stress prediction addresses a critical bottleneck in digital experiment scalability and reproducibility. By leveraging machine learning and automated data generation, this workflow enables rapid hypothesis testing and robust model validation, supporting risk-adjusted decision-making in advanced manufacturing R&D. The approach enhances predictive confidence and operational efficiency at key inflection points in process development pipelines.
This surrogate modeling workflow integrates into the digital experiment continuum, spanning early process discovery through simulation-driven optimization and preclinical validation.