Method Article

Desenvolvimento de modelo substituto para experimentos digitais em soldagem

DOI:

10.3791/67576

March 28th, 2025

In This Article

Summary

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Este protocolo descreve um fluxo de trabalho geral para a construção de uma rede neural artificial para simulação de soldagem usando conjuntos de dados gerados automaticamente por meio de scripts Python com funções macro. O fluxo de trabalho é validado em relação a um caso de referência envolvendo soldagem em linha reta de passagem única. A precisão preditiva do modelo substituto mostra uma forte concordância com simulações de elementos finitos.

Abstract

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

A indústria de manufatura depende fortemente de processos de soldagem para unir materiais, formando componentes integrais em vários setores. Muitos aspectos influenciarão a qualidade da solda e, finalmente, afetarão a integridade da estrutura da soldagem. A tensão residual induzida pela soldagem, uma consequência do ciclo térmico inerente a esses processos, afeta significativamente a integridade estrutural e o desempenho dos componentes fabricados. Compreender e prever essa tensão residual é crucial para aumentar a confiabilidade e a durabilidade das estruturas soldadas. No entanto, avaliar rapidamente uma configuração de soldagem em experimentos digitais apresenta desafios significativos, pois uma simulação tradicional pode ser demorada. Esta pesquisa descreve a aplicação de um fluxo de trabalho para construir um modelo substituto baseado em rede neural artificial para prever a tensão residual induzida pela soldagem. O modelo é construído usando dados gerados automaticamente a partir de simulações de elementos finitos por meio de scripts Python baseados em funções macro. Ao contrário dos métodos tradicionais que dependem de pré-processamento manual e simulações de elementos finitos, essa abordagem reduz significativamente o tempo e o esforço necessários para a configuração da simulação e extração de dados, aumentando a eficiência geral. Ao garantir que todas as etapas de simulação sejam executadas de forma consistente por meio de funções macro, o método elimina a variabilidade induzida pelo homem, levando a uma melhor reprodutibilidade. Além disso, a automação da geração de dados possibilita a criação de extensos conjuntos de dados necessários para treinar modelos de aprendizado de máquina, superando as limitações das técnicas tradicionais de trabalho intensivo. O fluxo de trabalho contém quatro etapas principais: construir uma simulação de elementos finitos de solda padrão e validar os resultados da simulação de elementos finitos em relação a dados experimentais; desenvolver scripts para geração de grandes conjuntos de dados usando uma função macro que registra as etapas de pré-processamento e pós-processamento da simulação de elementos finitos; usar os scripts para gerar os dados necessários; desenvolver modelos substitutos e testar seu desempenho. A rede neural artificial demonstrou alta precisão na previsão dos níveis de estresse, alinhando-se estreitamente com os resultados da simulação no conjunto de dados de teste e um erro quadrático médio relativo de 0,0024.

Introduction

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Ao realizar um experimento digital para a prática de soldagem, a tensão residual é um resultado importante, pois é um aspecto crítico da avaliação da integridade estrutural. A tensão residual induzida pela soldagem é causada pela combinação de altas temperaturas, resfriamento rápido e gradientes térmicos não uniformes resultantes e restrições mecânicas durante o processo de soldagem1. O metal mantém a tensão mesmo depois que o gradiente de temperatura interno diminui como resultado da deformação plástica e da fixação externa. A tensão residual pode ter uma influência significativa no comportamento e desempenho dos componentes, particularmente aqueles que estão sujeitos a carga cíclica ou alta tensão. Pode causar rachaduras 2,3 e afetar a vida útil geral à fadiga4.

A fim de melhorar a confiabilidade da caracterização da distribuição de tensão residual de soldagem, grupos como a Rede Europeia de Padronização de Técnicas de Nêutrons para Integridade Estrutural (NeT)5 realizaram uma série de atividades round-robin para conduzir experimentos e implementaram simulações de elementos finitos (FE) para diferentes cenários de soldagem, como solda de cordão de solda única6 e solda de ranhura de passagem múltipla7, 8. Diferentes técnicas de medição experimental são usadas para quantificar a tensão residual induzida por solda, incluindo difração de nêutrons9, método de contorno, difração de raios-X, perfuração profunda10 e perfuração incremental11. Além da medição experimental, a simulação de elementos finitos também é usada para reconstruir o campo de tensão residual. Gilles et al.12 usaram o modelo de fonte de calor de superfície no modelo de elementos finitos para simular a solda cordão na placa; Eles também realizaram análises de sensibilidade do design da malha e modelos de fonte de calor. Shan et al.13realizaram uma análise termomecânica sequencialmente acoplada para prever a distribuição de tensão residual pós-soldagem; Eles usaram um modelo de fonte de calor móvel com uma técnica de nascimento ou morte de elemento para caracterizar a distribuição do fluxo de calor. Bate et al.14descreveram como fazer a calibração do modelo de fonte de calor em um modelo 2D simplificado do corpo de prova para garantir a confiabilidade da análise térmica de soldagem. Coules et al.15 apresentaram um método para reconstruir campos de tensões residuais em uma região incompatível, combinando medidas de várias regiões próximas. O artigo destacou o potencial desse método para melhorar a precisão das medições de tensão residual, particularmente em situações em que as medições na região desejada não são possíveis. Bouchard6apresentou uma referência para simulação de solda de cordão na placa e ofereceu uma definição de metas de desempenho de tensão térmica e residual que poderiam ser usadas para avaliação da abordagem de simulação de solda. Smith et al.16 revisaram os diferentes métodos de modelagem de simulação de solda e apresentaram análises de sensibilidade de muitos parâmetros de modelagem de simulação de soldagem, incluindo projeto de malha, características da fonte de calor, entrada de calor e modelo constitutivo. A precisão dos resultados da simulação depende em grande parte das suposições e simplificações dos analistas. Além disso, alguns detalhes para configurações de simulação nos artigos publicados anteriormente são frequentemente negligenciados, o que dificulta a replicação das simulações.

Além da simulação de FE, uma série de algoritmos de aprendizado de máquina foi implementada para previsão de estresse, que inclui rede neural difusa17, regressão vetorial de suporte 18,19,20 rede neuro-difusa adaptativa 21,22 rede neural artificial23. O uso de algoritmos de aprendizado de máquina pré-treinados reduz significativamente o tempo necessário para a previsão de tensão em comparação com a análise de elementos finitos. Em vez de modelar com base em matemática e física e depois resolver equações diferenciais, o desenvolvimento de modelos substitutos constrói diretamente relações entre entradas e saídas. No entanto, essa metodologia baseada em dados convencionalmente exige um volume substancial de dados de treinamento. Apesar desse requisito, há atualmente uma escassez de pesquisas publicadas explicando em detalhes o processo de automação da geração de tais dados.

O objetivo geral aqui é desenvolver um fluxo de trabalho simplificado para automatizar a geração de dados a partir de simulações de elementos finitos e utilizar os dados gerados para treinar modelos substitutos baseados em aprendizado de máquina, como Redes Neurais Artificiais (RNAs), para prever resultados críticos em processos físicos complexos. A Figura 1 apresenta um fluxograma de alto nível que resume as etapas do fluxo de trabalho. Este trabalho apresenta todas as configurações para realizar uma simulação de soldagem termomecânica no Abaqus. Ao utilizar a função de gravação de macro, todas as operações de pré-processamento e pós-processamento na simulação FE são gravadas em scripts, automatizando assim os processos de geração de dados. Este trabalho também descreve como usar os dados gerados para treinar um modelo substituto de RNA.

Protocol

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

1. Construindo e registrando um modelo padrão

  1. Abra o Abaqus e clique em Arquivo > Definir diretório de trabalho para definir um diretório de trabalho. Clique em Arquivo > Gerenciador de Macros > trabalhar e criar uma macro de trabalho chamada Thermal_recording.
  2. Execute a configuração da análise térmica conforme descrito abaixo.
    1. Crie um modelo para amostras de soldagem. Aqui, um único caso de referência de estrutura de cordão de solda na placa é usado como exemplo; o tamanho da placa de base retangular, do cordão de solda e da região de refinamento da malha são mostrados na Tabela 1.
      1. Clique em Peça > Criar Peça. Crie um meio modelo deformável 3D do corpo de prova extrudando um esboço de um quadrado no plano XY de acordo com a geometria fornecida na Tabela 1.
      2. Clique na peça > Criar plano de datum: deslocamento do plano principal. Crie dois planos de datum para descrever o ponto inicial e o ponto final da soldagem, especificando os deslocamentos do plano YZ com base no comprimento do cordão fornecido na Tabela 1. Crie dois planos de datum para descrever a profundidade e a largura do cordão para a soldagem, especificando os deslocamentos do plano XY e do plano XZ com base na profundidade e largura do cordão fornecidas na Tabela 1. O cordão está localizado no centro da superfície superior, com seu comprimento alinhado com a direção longitudinal da amostra.
      3. Clique na parte > célula de partição: Usar plano de datum. Crie partições de célula da amostra usando os quatro planos de datum criados na etapa 1.2.1.2.
      4. Clique em Peça > Criar corte: Extrusão. Crie um esboço para a parte do cordão de solda que está abaixo da superfície superior da amostra especificando um arco (arco-1) e duas linhas em um dos planos de datum criados. As dimensões do cordão são mostradas na Tabela 1. Crie um corte com a profundidade do comprimento do cordão extrudando o esboço.
      5. Clique em Parte > Criar sólido: Extrusão. Crie um esboço para o cordão de solda especificando dois arcos (arc-1 e acr-2) e uma linha em um dos planos de datum criados. Faça a extrusão do esboço pelo comprimento do cordão selecionando Manter limites internos.
      6. Clique em Parte > Criar plano de datum: Deslocamento do plano principal. Crie quatro planos de datum para definir a região de malha fina com base na geometria da região de refinamento de malha. A região da malha fina está localizada no centro superior da amostra.
      7. Clique na parte > célula de partição: Usar plano de datum. Crie partições de célula da amostra usando os quatro planos de datum criados na etapa 1.2.1.6.
    2. Defina o material de aço inoxidável AISI 316LN no módulo Propriedade de acordo com a Tabela 2.
      1. Clique em Propriedade > Criar material. Defina a densidade no menu Geral. Defina a condutividade e o calor específico no menu Térmico usando dados dependentes da temperatura.
    3. Atribua material ao modelo conforme descrito abaixo.
      1. Clique em Propriedade > Criar seção. Crie uma seção sólida homogênea com o material definido na etapa 1.2.2.
      2. Clique na seção Propriedade > Atribuir. Atribua ao modelo as seções definidas na etapa 1.2.3.1.
    4. Defina as etapas no módulo de etapas conforme descrito abaixo.
      1. Clique na Etapa > Criar Etapa. Crie uma etapa de transferência de calor (considere nenhuma não linearidade da geometria) chamada soldagem com um período de tempo de 26,43 e um incremento de tempo fixo de 0,1.
      2. Crie uma etapa de transferência de calor (considere nenhuma não linearidade da geometria) chamada Resfriamento-1 com um período de tempo de 70 e um incremento de tempo adaptativo com tamanhos de incremento inicial, mínimo e máximo de 0,1, 0,05 e 5, respectivamente.
      3. Crie uma etapa de transferência de calor (considere nenhuma não linearidade da geometria) chamada Resfriamento-2 com um período de tempo de 2000 e um incremento de tempo adaptativo com tamanhos de incremento inicial, mínimo e máximo de 5, 1 e 100, respectivamente.
        NOTA: A seleção do intervalo de tempo para as etapas de resfriamento é crucial para a simulação e deve ser cuidadosamente determinada pelos analistas.
    5. Defina os atributos do modelo conforme descrito abaixo.
      1. Clique em Modelo > Editar Atributo. Defina a temperatura zero absoluta como -273,15. Defina a constante de Stefan-Boltzmann como 5,67E-11.
    6. Clique em Etapa> Criar saída de campo para definir uma solicitação de temperatura nodal para todo o modelo. Clique em Assembly > Create Instance para criar uma instância dependente.
    7. Crie interações no módulo Interação.
      1. Clique em Interação > Criar interação > condição de filme de superfície. Crie uma interação de condição de filme de superfície com um coeficiente de filme de 15 e temperatura de dissipação de 20 em todas as superfícies do modelo, exceto no plano simétrico. Defina a etapa inicial como soldagem.
      2. Clique em Interação > Criar interação > radiação de superfície. Crie uma interação de radiação de superfície com uma emissividade de 0,7 e uma temperatura ambiente de 20 em todas as superfícies do modelo, exceto no plano simétrico. Defina a etapa inicial como soldagem.
    8. Defina as cargas no módulo Carga.
      1. Clique em Carregar > Criar carga > fluxo de calor térmico > corpo. Crie uma carga de fluxo de calor do corpo definida pelo usuário a partir da etapa de soldagem e inative-a nas duas etapas de resfriamento.
      2. Clique em Carregar > Criar campo predefinido > Outro campo >. Crie um campo de temperatura predefinido a partir da inicial para representar a temperatura ambiente de 20.
    9. Crie malha no módulo Malha conforme descrito abaixo.
      NOTA: O tipo de elemento, o tamanho da malha global e o tamanho da malha fina devem ser decididos com base nos requisitos específicos de cada análise.
      1. Clique em Mesh > Object: Part > Seed Part. Semeie a peça pelo tamanho global de 0,0024. Clique em Mesh > Seed Edges. Semeie as bordas da profundidade e da largura do cordão pelo número de 3.
      2. Semeie a borda do arco-2 pelo número 3. Semeie a borda do comprimento do cordão pelo tamanho de 0,0015.
      3. Clique em Malha > Atribuir controles de malha. Use o elemento de forma Tet e a técnica livre para a região do cordão. Clique em Malha > Atribuir Tipo de Elemento. Defina o tipo de elemento como DC3D10 e a peça de malha.
      4. Clique em Mesh > Seed Edges. Semeie as arestas colineares ao eixo X dentro da região de malha fina com um tamanho de 0,0015. Semeie as arestas que são colineares ao eixo Y dentro da região de malha fina pelo tamanho de 0,0011. Semeie as arestas colineares ao eixo Z dentro da região de malha fina com um tamanho de 0,00075.
      5. Clique em Malha > Atribuir controle de malha. Atribua o controle de malha para o restante da região. Use o elemento de forma hexagonal e a técnica de varredura. Clique em Malha > Atribuir Tipo de Elemento. Defina o tipo de elemento como DC3D20 e a peça de malha.
    10. Clique em Trabalho > Criar Trabalho. Crie um job chamado Thermal_analysis, anexe a sub-rotina do usuário DFLUX.
    11. Pare a gravação de macros. Um arquivo python chamado Thermal_recording.py seria gerado no diretório de trabalho.
    12. Clique em Job > Job Manager > Enviar. Envie o trabalho. Um arquivo de resultado chamado Thermal_analysis.odb será gerado.
  3. Clique em Arquivo > Gerenciador de Macros > funcionar. Abra o Gerenciador de Macros e crie uma macro de trabalho chamada Mechanical_recording.
  4. Execute a configuração da análise mecânica conforme descrito abaixo.
    1. Repita a etapa 1.2.1 para criar a geometria do modelo para a amostra de solda.
    2. Defina o material de aço inoxidável AISI 316LN no módulo de propriedades de acordo com a Tabela 2 e a Tabela 3.
      1. Clique em Propriedade > Criar material. Defina a densidade no menu Geral. Defina as propriedades elásticas no menu Mecânico usando dados dependentes da temperatura.
      2. Defina as propriedades plásticas no menu Mecânico usando dados dependentes da temperatura. Selecione o modelo de proteção combinada e selecione os parâmetros como tipo de dados . Defina o número de tensões posteriores e o número de variáveis de campo como 2 e 0.
      3. Adicione subopções de Temperatura de recozimento. Defina a temperatura de recozimento para 1050. Defina a expansão isotrópica no menu Mecânico usando dados dependentes da temperatura.
    3. Repita a etapa 1.2.3 para atribuir material ao modelo.
    4. Defina as etapas no módulo de etapas conforme descrito abaixo.
      1. Clique na Etapa > Criar Etapa. Crie um passo estático (considere a não linearidade da geometria) para soldagem com um período de tempo de 26,43 e um incremento de tempo fixo de 0,1.
      2. Crie um passo estático (considere a não linearidade da geometria) para Cooling-1 com um período de tempo de 70 e um incremento de tempo adaptativo com tamanhos de incremento inicial, mínimo e máximo de 0,1, 0,05 e 5, respectivamente.
      3. Crie um passo estático (considere a não linearidade da geometria) para Cooling-2 com um período de tempo de 2000 s e um incremento de tempo adaptável com tamanhos de incremento inicial, mínimo e máximo de 5, 1 e 100, respectivamente.
    5. Clique na Etapa > Criar saída de campo. Defina a solicitação de componentes de tensão e invariantes para todo o modelo. Clique em Montagem > Criar instância. Crie uma instância dependente.
    6. Defina as condições de limite conforme descrito abaixo.
      1. Clique em Carregar > criar condições de limite > > mecânicas de deslocamento/rotação. Defina os vértices esquerdos no plano simétrico e na superfície superior a serem restringidos em U1 e U3.
      2. Defina os vértices corretos no plano de simetria e na superfície superior a serem restringidos em U3.
      3. Clique em Carregar > criar condições de contorno > Mecânica > simetria/antissimetria/encastre. Defina as condições simétricas para o plano de simetria.
    7. Defina campos predefinidos conforme descrito abaixo.
      1. Clique em Carregar > Criar campo predefinido. Crie um campo de temperatura predefinido a partir da etapa inicial para representar a temperatura ambiente de 20.
      2. Crie um campo de temperatura predefinido a partir da etapa de soldagem. O recurso de distribuição é do arquivo de banco de dados de resultados ou de saída. Adicione a raiz para ser a do arquivo de resultado gerado na etapa 1.2.12 e defina a etapa inicial, o incremento inicial e a etapa final como 1, 1, 1, respectivamente.
      3. Crie um campo de temperatura predefinido a partir da etapa Resfriamento-1. O recurso de distribuição é de resultados ou arquivo de banco de dados de saída. Adicione a raiz para ser a do arquivo de resultado gerado na etapa 1.2.12 e defina a etapa inicial, o incremento inicial e a etapa final como 2, 1, 2, respectivamente.
      4. Crie um campo de temperatura predefinido a partir da etapa Resfriamento-2. O recurso de distribuição é de resultados ou arquivos de banco de dados de saída. Adicione a raiz para ser a do arquivo de resultado gerado na etapa 1.2.12 e defina a etapa inicial, o incremento inicial, a etapa final como 3, 1, 3, respectivamente.
    8. Repita a etapa 1.2.9, mas atribua o tipo de elemento como C3D8R. Crie um trabalho chamado Mechanical_analysis. Pare a gravação de macros. Um arquivo Python chamado Mechanical_recording.py seria gerado no diretório de trabalho.
    9. Envie o trabalho. Um arquivo de resultado chamado Mechanical_analysis.odb pode ser gerado.
  5. Execute o pós-processamento conforme descrito abaixo.
    NOTA: Na fase de pós-processamento, os campos físicos são extraídos e comparados com os resultados experimentais. O processo de extração específico depende dos dados experimentais disponíveis. Este estudo demonstra a extração do campo de temperatura, limite de fusão e campo de tensão, que podem ser comparados com leituras de termopares, medições de forma de cordão e dados de tensão residual, respectivamente. Os resultados detalhados da comparação estão disponíveis na publicação associada24.
    1. Extraia os resultados térmicos conforme descrito abaixo.
      1. Clique em Arquivo > Abrir banco de dados. Abra Thermal_analysis.odb. Clique em Plug-ins > Ferramentas > Encontre o Nó Mais Próximo. Localize o rótulo nodal para o ponto de Par térmico 5 e Par térmico 9 usando a ferramenta Localizar nó mais próximo nos plug-ins.
        NOTA: O par térmico 5 está localizado na linha de interseção da superfície superior da amostra e da seção transversal de comprimento médio. Está a 11,5 mm de distância do plano de simetria. O par térmico 9 está localizado no ponto de interseção do plano inferior, plano de simetria e seção transversal de comprimento médio.
      2. Clique em Visualização > Criar dados XY > saída do campo ODB. Extraia o histórico de temperatura nodal exclusivo.
      3. Clique em Visualização > Ativar/Desativar Corte da Vista. Ative a vista de corte do plano X. Ajuste o seletor de quadros e capture a seção transversal da fusão quando o limite da fusão atingir o maior.
    2. Extraia os resultados mecânicos conforme descrito abaixo.
      1. Abra o Gerenciador de Macros e crie uma macro de trabalho chamada data_extracting. Abrir Mechanical_analysis.odb.
      2. Clique em Ferramentas > Caminho > Criar > lista de nós. Crie caminhos para a linha BD (a linha BD percorre a espessura da amostra no comprimento médio).
      3. Clique em Visualização > Criar dados XY > Caminho. Crie dados XY a partir de caminhos na forma de modelo não deformada.
      4. Pare a gravação de macros. Um arquivo python chamado data_extracting.py seria gerado no diretório de trabalho.
    3. Compare os resultados térmicos e mecânicos com os dados experimentais. Os mesmos parâmetros e configurações foram usados tanto para a simulação quanto para os experimentos.

2. Script do modelo

NOTA: Aqui, três parâmetros de soldagem, velocidade de soldagem, comprimento de deslocamento e taxa de entrada de energia líquida são parametrizados.

  1. Simplifique o modelo com base na análise de sensibilidade.
    NOTA: De acordo com uma análise de sensibilidade do efeito de incluir ou excluir a altura da armadura do cordão de solda no modelo, incluir ou excluir a altura da armadura do cordão de solda no modelo não afetou significativamente a distribuição de tensões ao longo da linha BD. Portanto, as etapas para criar o cordão na simulação podem ser ignoradas.
  2. Abra Thermal_recording.py. Encontre os códigos para definir a etapa pesquisando HeatTransferStep. Substitua o valor do período de tempo específico para a etapa de soldagem pela expressão bead_length/velocidade de soldagem.
  3. Encontre os códigos para criar o arquivo de entrada. Substitua o nome específico pela expressão T-Heat_input-welding_speed-travel_length.
  4. Abra Mechanical_recording.py. Encontre os códigos para definir a etapa pesquisando HeatTransferStep. Substitua o valor do período de tempo específico para a etapa de soldagem pela expressão bead_length/velocidade de soldagem.
  5. Encontre os códigos para criar o arquivo de entrada. Substitua o nome específico pela expressão M-Heat_input-welding_speed-travel_length.
  6. Combine o código para criar arquivos de entrada para análise térmica e mecânica usando as linhas 1-408 no Arquivo de codificação suplementar 1 incluído.
  7. Defina os formatos da lista de argumentos e chame as funções para criar arquivos de entrada para análises térmicas e mecânicas usando as linhas 410-459 no Arquivo de codificação suplementar 1 incluído. Todos os arquivos de entrada para análises térmicas seriam armazenados em Thermal_input_files pasta e todos os arquivos de entrada para análises mecânicas seriam armazenados em Mechanical_input_files pasta no diretório de trabalho.
  8. Gere o arquivo python final (Arquivo de Codificação Suplementar 1).
    NOTA: Para aumentar a robustez do script, todas as funções padrão usadas para selecionar a sequência, chamadas getSequenceFromMask, foram substituídas pela função de seleção de sequência baseada em coordenadas, chamada findAt.

3. Geração de dados

  1. Execute o Arquivo de Codificação Suplementar 1 na linha de comando do Abaqus para gerar arquivos de entrada para análises térmicas e análises mecânicas. Copie o arquivo de codificação suplementar 2 e o arquivo de codificação suplementar 3 para a pasta Thermal_input_files.
  2. Digite qsub Run_thermal na linha de comando para executar scripts de shell para alterar a sub-rotina DFLUX de acordo com diferentes nomes de arquivos de entrada de soldagem e enviar trabalhos.
  3. Copie o arquivo de codificação suplementar 4 para a pasta Mechanical_input_files. Digite qsub Run_mechanical na linha de recomendação para alterar os arquivos de entrada para análise mecânica de acordo com diferentes nomes de arquivo de entrada de soldagem e enviar trabalhos.
  4. Copie o Arquivo de Codificação Suplementar 5 para a pasta Mechanical_input_files e execute este script na linha de comando. Em seguida, gere arquivos csv contendo o valor de tensão para pontos na linha de destino.

4. Desenvolvimento de modelo substituto

  1. Carregue bibliotecas usando as linhas 1-17 incluídas no Arquivo de Codificação Suplementar 6. Corrija a semente aleatória usando a linha 378, incluída no Arquivo de Codificação Suplementar 6.
  2. Especifique o caminho do conjunto de dados de treinamento e do conjunto de dados de teste usando as linhas 381-382 incluídas no Arquivo de Codificação Suplementar 6.
  3. Pré-processe o conjunto de dados usando a linha 385 incluída no Arquivo de Codificação Suplementar 6. O pré-processamento inclui amostragem uniformemente espaçada, normalização e treinamento e divisão do conjunto de testes.
  4. Execute o ajuste de hiperparâmetro usando a otimização bayesiana usando as linhas 387-397 no Arquivo de Codificação Suplementar 6 incluído (Opcional).
  5. Execute o ajuste de hiperparâmetro com validação cruzada usando GridsearchCV usando as linhas 399-401 no Arquivo de Codificação Suplementar 6 incluído (Opcional).
  6. Crie um modelo substituto e preveja no conjunto de dados de teste usando as linhas 404-405 no Arquivo de Codificação Suplementar 6 incluído.
  7. Calcule e imprima o MSE para a previsão usando as linhas 406-410 no Arquivo de Codificação Suplementar 6 incluído.
  8. Salve o modelo substituto usando as linhas 414-416 no Arquivo de Codificação Suplementar 6 incluído.
  9. Plote as previsões de RNA em relação aos dados de simulação no conjunto de dados de teste usando as linhas 419-420 no Arquivo de Codificação Suplementar 6 incluído.
  10. Trace um mapa geral de desempenho no conjunto de dados de teste usando a linha 423 no Arquivo de Codificação Suplementar 6 incluído.

Results

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Uma série de simulações de FE foi executada usando diferentes combinações de comprimento de deslocamento do arco, velocidade de avanço do arco e taxa líquida de entrada de energia. Para o conjunto de treinamento, a faixa de valores usada para o comprimento do curso do arco foi de 40 mm, 50 mm, 60 mm, 70 mm e 80 mm. A faixa de valores utilizada para a velocidade de avanço do arco foi de 2 mm/s, 2,5 mm/s, 3 mm/s, 3,5 mm/s e 4 mm/s. A faixa de valores usada para a taxa líquida de entrada de energia foi de 1000 W, 1500 W, 2000 W, 2500 W e 3000 W. Para o conjunto de teste, a faixa de valores usada para o comprimento do curso do arco foi de 40 mm, 50 mm, 60 mm, 70 mm e 80 mm. A faixa de valores usada para a velocidade de avanço do arco foi de 2,25 mm/s, 2,75 mm/s, 3,25 mm/s e 3,75 mm/s. A faixa de valores usada para a taxa de entrada de energia líquida foi de 1250 W, 1750 W, 2250 W e 2750 W. As tensões longitudinais ao longo da linha BD dessas 205 simulações são coletadas e mostradas na Figura 2. Este resultado foi publicado anteriormente em25. Em particular, os resultados do estudo de caso são empregados nesse estudo para fundamentar a eficácia do fluxo de trabalho. A presente pesquisa vai além das investigações anteriores, fornecendo uma explicação abrangente das configurações específicas aplicadas na simulação de soldagem e detalhando a metodologia de script Python empregada para a simulação geral de soldagem.

O modelo de RNA desenvolvido foi aplicado para fazer a predição no conjunto de teste. A discrepância entre a previsão do modelo e a simulação de FE é mostrada na Figura 3. Dos 1680 pontos de teste, a maioria das diferenças (759 ocorrências) entre a análise de elementos finitos simulada e os valores de tensão previstos da RNA estão dentro da faixa de 0-2 MPa, representando 45,2% dos dados. A frequência diminui à medida que a diferença aumenta, com muito poucos pontos de dados mostrando diferenças superiores a 10 MPa. Um gráfico de caixa é mostrado na Figura 4 para mostrar a distribuição de discrepâncias absolutas entre a tensão simulada e a tensão prevista para diferentes níveis de tensão simulada. Cada caixa representa o intervalo interquartil dos resíduos dentro de um compartimento específico de níveis de tensão simulados, com a linha dentro da caixa indicando o valor mediano. O histograma no eixo y secundário mostra o número de pontos de dados de treinamento em cada compartimento de nível de tensão, fornecendo contexto adicional sobre a distribuição de dados usada para treinar o modelo. Conforme mostrado na figura, os compartimentos de nível de estresse com menos pontos de dados de treinamento tendem a exibir discrepâncias máximas mais altas no conjunto de dados de teste. O desempenho nessas regiões poderia ser potencialmente melhorado aumentando a quantidade de dados de treinamento disponíveis para esses níveis de estresse.

O Erro Quadrático Médio (MSE) foi utilizado para quantificar o desempenho preditivo, e a expressão para os indicadores de desempenho do MSE é:

figure-results-1

onde yi é o valor de tensão antes de reverter a padronização para o i-ésimo ponto de amostragem, figure-results-2 é o valor de tensão previsto antes de reverter a padronização para a i-ésima amostra e n é o número total de amostras.

A previsão de estresse da RNA foi muito próxima dos resultados da simulação de EF, com um MSE de 0,0024. As previsões em quatro casos de teste selecionados são mostradas na Figura 5; a entrada de calor para esses quatro casos de teste é 333 J / mm, 538 J / mm, 692 J / mm e 1222 J / mm, respectivamente. Entre todos esses quatro casos, as previsões de RNA mostram boa concordância com os resultados da simulação de EF em geral. No entanto, em cenários em que a velocidade de soldagem é de 2,25 mm/s com um comprimento de curso de 50 mm e uma taxa de entrada de energia líquida de 2750 W ou quando a velocidade de soldagem é de 3,75 mm/s com um comprimento de curso de 40 mm e uma taxa de entrada de energia líquida de 1250 W, discrepâncias relativamente grandes são observadas na parte inferior da linha BD (perto de 17 mm de profundidade). Essas discrepâncias podem ser atribuídas ao aumento da complexidade das regras que regem essa região, resultando em uma variedade mais intrincada dentro dessas regiões específicas do espaço de parâmetros. Uma possível solução seria aumentar a densidade do conjunto de dados de treinamento nessa área.

figure-results-3
Figura 1: Fluxo de trabalho. O fluxo de trabalho proposto tem quatro etapas (indicadas em blocos azuis): construção do modelo FE de linha de base, script, geração de dados e desenvolvimento de modelo substituto. Os blocos laranja representam a entrada de cada etapa e os blocos verdes representam a saída de cada etapa. Clique aqui para ver uma versão maior desta figura.

figure-results-4
Figura 2: Conjunto de dados gerado. Um total de 205 conjuntos de dados de tensão longitudinal são ilustrados, cada um correspondendo a uma combinação única de comprimento de deslocamento, taxa líquida de entrada de energia e velocidade de soldagem. Dentro de cada conjunto, 20 pontos de dados são plotados para diferentes nós ao longo da linha BD. Para diferenciar entre os conjuntos, cada um é representado por uma cor diferente, que corresponde à sua taxa líquida de entrada de calor. Este valor pode ser calculado dividindo a taxa de entrada de energia líquida pela velocidade de soldagem. Este número foi modificado de25. Clique aqui para ver uma versão maior desta figura.

figure-results-5
Figura 3: Frequência da discrepância entre os resultados da simulação de FE e as previsões de ANN. As diferenças entre os resultados da simulação de EF e as previsões de RNA no conjunto de dados de teste são categorizadas em 10 níveis. As anotações no gráfico indicam a frequência e a porcentagem de ocorrências para cada nível de diferença nos casos de teste. Clique aqui para ver uma versão maior desta figura.

figure-results-6
Figura 4: Distribuição dos resíduos absolutos médios e do conjunto de dados de treinamento em diferentes níveis de estresse. O gráfico de caixa descreve a distribuição de discrepâncias absolutas entre a tensão simulada e a tensão prevista para diferentes níveis de tensão simulada. A linha laranja dentro de cada caixa representa a mediana, indicando o ponto médio das discrepâncias absolutas. A altura de cada caixa corresponde ao intervalo interquartil, que abrange os 50% médios dos dados (do percentil 25 ao 75), refletindo a variabilidade das discrepâncias. Os bigodes se estendem da caixa para mostrar os valores mínimo e máximo de discrepância. O histograma azul mostra o número de pontos de dados de treinamento correspondentes a cada nível de estresse no conjunto de dados de treinamento. Clique aqui para ver uma versão maior desta figura.

figure-results-7
Figura 5: Comparação entre os resultados da simulação e os resultados previstos da RNA. Quatro casos de teste são mostrados nesta figura, com (A) a velocidade de soldagem é de 3,75 mm/s, o comprimento de deslocamento é de 40 mm e a taxa de entrada de energia líquida é de 1250 W; (B) a velocidade de soldagem é de 3,25 mm/s, o comprimento de deslocamento é de 60 mm e a taxa de entrada de energia líquida é de 1750 W; (C) a velocidade de soldagem é de 3,25 mm/s, o comprimento de deslocamento é de 50 mm e a taxa de entrada de energia líquida é de 2250 W; e (D) a velocidade de soldagem é de 2,25 mm/s, o comprimento de deslocamento é de 50 mm e a taxa de entrada de energia líquida é de 2750 W. A discrepância mais notável em todos os casos de teste é destacada com uma caixa azul, mostrando uma diferença de 19,4 MPa a uma profundidade de 17 mm da superfície superior no caso de teste (D). Clique aqui para ver uma versão maior desta figura.

Tabela 1: Informações de geometria para amostra de solda, região da malha de refinamento e cordão. O comprimento, a largura e a profundidade do corpo de prova de solda retangular e da região da malha de refinamento estão listados na tabela. As dimensões do cordão de solda são ilustradas com um esboço. No processo de modelagem, a largura deve ser reduzida pela metade, pois apenas metade do modelo foi criada. Clique aqui para baixar esta tabela.

Tabela 2: Propriedades do material de AISI 316LN14. A densidade e o coeficiente de Poisson são tratados como independentes da temperatura e as outras propriedades físicas são tratadas como dependentes da temperatura. Clique aqui para baixar esta tabela.

Tabela 3: Propriedades mecânicas plásticas do AISI 316LN24. Propriedades mecânicas do aço inoxidável AISI 316LN em função da temperatura; tensão de escoamento com deformação plástica zero; parâmetros de endurecimento cinemático (C1, Gamma 1, C2, Gamma 2); parâmetro de endurecimento isotrópico (Q-inf); e parâmetro de endurecimento (b). Clique aqui para baixar esta tabela.

Arquivo de codificação suplementar 1: Create_input_files.py Clique aqui para baixar este arquivo.

Arquivo de codificação suplementar 2: Run_thermal Clique aqui para baixar este arquivo.

Arquivo de codificação suplementar 3: DFLUX.for Clique aqui para baixar este arquivo.

Arquivo de codificação suplementar 4:Run_Mechanical Clique aqui para baixar este arquivo.

Arquivo de codificação suplementar 5: extract_data.py Clique aqui para baixar este arquivo.

Arquivo de codificação suplementar 6: ANN_development.py Clique aqui para baixar este arquivo.

Discussion

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Este estudo apresenta um fluxo de trabalho para automatizar a geração de dados a partir de simulações de elementos finitos e treinar modelos substitutos baseados em aprendizado de máquina, como redes neurais artificiais, para prever resultados críticos em processos de soldagem. Em primeiro lugar, o protocolo envolve a construção de uma simulação de elementos finitos de solda padrão para estabelecer uma estrutura consistente para resultados confiáveis. Os resultados da simulação são analisados e validados em relação aos dados experimentais para garantir a precisão. Em segundo lugar, os scripts que podem realizar o pré-processamento e o pós-processamento da simulação são desenvolvidos com base em scripts gravados usando a função macro. Em terceiro lugar, grandes conjuntos de dados são gerados usando scripts gerados. Por fim, um modelo substituto é desenvolvido e testado, demonstrando seu desempenho excepcional. Essa metodologia contribui para a eficiência do processo de geração de conjuntos de dados, eliminando a necessidade de configurações manuais repetitivas. Reconhecendo o papel fundamental da geração de conjuntos de dados no desenvolvimento de modelos substitutos orientados por dados, o fluxo de trabalho descrito serve para agilizar o processo de desenvolvimento do modelo substituto. Consequentemente, a metodologia apresentada se destaca como um recurso valioso para facilitar o desenvolvimento de modelos substitutos baseados em dados no contexto de simulações de soldagem.

No protocolo, várias etapas críticas influenciam significativamente o desempenho do modelo substituto final. Na etapa 1.2.9, é essencial garantir que o modelo de solda incorpore elementos de malha suficientemente finos para obter convergência estável e resultados de simulação precisos. Na etapa 1.5.3, a calibração do modelo de elementos finitos padrão aumenta a adequação da seleção dos parâmetros do modelo de fonte de calor e melhora a precisão da simulação. Nas etapas 4.4 e 4.5, o ajuste adequado de hiperparâmetros é crucial para identificar a configuração ideal do modelo, melhorando assim o desempenho do modelo substituto.

O desempenho do modelo substituto de RNA desenvolvido foi avaliado e verificou-se que ele teve um bom desempenho geral. A precisão do modelo substituto desenvolvido neste trabalho é maior do que as tentativas anteriores, que foram baseadas em dados muito limitados19,23. No estudo de caso, o modelo substituto desenvolvido é projetado especificamente para prever tensões longitudinais em uma única configuração de cordão de solda na placa, incorporando três parâmetros principais de soldagem: velocidade de soldagem, comprimento de deslocamento e taxa de entrada de energia líquida. É importante observar que tanto as entradas quanto as saídas do modelo são altamente adaptáveis. Por exemplo, parâmetros de soldagem adicionais ou propriedades do material podem ser incorporados às entradas, e as saídas podem ser expandidas para abranger todos os componentes de tensão residual ou deslocamento, oferecendo uma estrutura versátil para uma gama mais ampla de aplicações.

Quanto ao algoritmo usado para construir o modelo substituto, ele também é modificável com base nas tarefas. As RNAs têm algumas limitações para extrapolação. Em contraste com as RNAs, outros algoritmos de aprendizado de máquina, como máquinas de vetores de suporte (SVMs), não são limitados pela estrutura dos dados de treinamento e têm uma melhor capacidade de extrapolação. Estudos anteriores 18,19,20 tentaram usar SVMs para prever tensão residual com algum sucesso. No entanto, é importante observar que pode ser mais desafiador ajustar os hiperparâmetros da SVM, e as SVMs nem sempre têm um bom desempenho em tarefas de interpolação em comparação com as RNAs. Outra limitação das RNAs é que o uso direto de RNAs não pode gerar um intervalo de crença, o que é motivo de preocupação dos engenheiros. Portanto, outros algoritmos, como Regressão de Processo Gaussiano26 e Redes Neurais Bayesianas27, podem ser considerados. Além disso, embora o modelo de RNA tenha um bom desempenho na previsão de tensões residuais, ele carece de interpretabilidade. Essa falta de interpretabilidade pode ser uma desvantagem em aplicações de engenharia em que a compreensão do processo de tomada de decisão do modelo é crucial. A interpretabilidade do modelo pode ser melhorada integrando modelos mais explicativos, como árvores de decisão.

Em conclusão, o fluxo de trabalho proposto neste estudo permite a geração rápida e fácil de conjuntos de dados, o que pode acelerar significativamente o desenvolvimento de modelos substitutos de simulação de soldagem gerais ou específicos.

Disclosures

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Os autores não têm nada a divulgar.

Acknowledgements

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Este projeto foi apoiado pela Autoridade de Energia Atômica do Reino Unido por meio do Programa da Indústria de Fusão. O Programa da Indústria de Fusão está estimulando o crescimento do ecossistema de fusão do Reino Unido e preparando-o para o futuro mercado global de usinas de fusão. Mais informações sobre o Programa da Indústria de Fusão podem ser encontradas online: https://ccfe.ukaea.uk/programmes/fusion-industry-programme/. Os autores estendem sua sincera gratidão pelo apoio fornecido pela Research IT no acesso ao Computational Shared Facility da Universidade de Manchester. A.N. Vasileiou agradece o apoio do projeto 'SINDRI - Synergistic Utilisation of Informatics and Data-centric Integrity Engineering', financiado pelo EPSRC, United Kingdom Prosperity Partnership (número de concessão: EP/V038079/1), bem como do Dalton Nuclear Institute da Universidade de Manchester, Reino Unido. Os autores agradecem ao NeT-European NeTwork e Carsten Ohms da Comissão Europeia - Centro Comum de Pesquisa (JRC) pelo fornecimento dos dados de referência do NeT-TG1.

Materials

List of materials used in this article
NameCompanyCatalog NumberComments
AbaqusDassault Systems2020
Intel Fortran CompiladorIntel Corporation17.0.7
KerasCódigo Aberto2.6.0
PythonCódigo Aberto3.8.18

References

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,
  1. Francis, J. A., Bhadeshia, H., Withers, P. J. Welding residual stresses in ferritic power plant steels. Mater Sci Technol. 23 (9), 1009-1020 (2007).
  2. Withers, P. J. Residual stress and its role in failure. Rep Prog Phys. 70 (12), 2211(2007).
  3. Hornbach, D. J., Preve´y, P. S. The effect of prior cold work on tensile residual stress development in nuclear weldments. J. Press Vessel Technol. 124 (3), 359-365 (2002).
  4. Zondi, M. C. Factors that affect welding-induced residual stress and distortions in pressure vessel steels and their mitigation techniques: a review. J Press Vessel Technol. 136 (4), 040801(2014).
  5. Ohms, C., Wimpory, R. C., Katsareas, D. E., Youtsos, A. G. NET TG1: Residual stress assessment by neutron diffraction and finite element modeling on a single bead weld on a steel plate. Int J Press Vessels Piping. 86 (1), 63-72 (2009).
  6. Bouchard, P. J. The NeT bead-on-plate benchmark for weld residual stress simulation. Int J Press Vessel Piping. 86 (1), 31-42 (2009).
  7. Hofmann, M., Wimpory, R. C. NET TG1: Residual stress analysis on a single bead weld on a steel plate using neutron diffraction at the new engineering instrument 'STRESS-SPEC'. Int J Press Vessels Piping. 86 (1), 122-125 (2009).
  8. Smith, M. C., Smith, A., Ohms, C., Wimpory, R. A review of the NeT TG4 international weld residual stress benchmark. ASME Press Vessels Piping Conf 2015. 6B, (2015).
  9. Akrivos, V., Smith, M. C. Material characterization on the nickel-based alloy 600/82 NeT-TG6 benchmark weldments. Proc ASME Press Vessels Piping Conf 2019. Uddin, M., Brongers, M., Messner, M. 6B, (2019).
  10. Wimpory, R. C., Ohms, C., Hofmann, M., Schneider, R., Youtsos, A. G. Statistical analysis of residual stress determinations using neutron diffraction. Int J Press Vessels Piping. 86 (1), 48-62 (2009).
  11. Ficquet, X., Smith, D. J., Truman, C. E., Kingston, E. J., Dennis, R. J. Measurement and prediction of residual stress in a bead-on-plate weld benchmark specimen. Int J Press Vessels Piping. 86 (1), 20-30 (2009).
  12. Gilles, P., El-Ahmar, W., Jullien, J. F. Robustness analyses of numerical simulation of fusion welding NeT-TG1 application:"Single weld-bead-on-plate.". Int J Press Vessels Piping. 86 (1), 3-12 (2009).
  13. Shan, X., Davies, C. M., Wangsdan, T., O'dowd, N. P., Nikbin, K. M. Thermo-mechanical modelling of a single-bead-on-plate weld using the finite element method. Int J Press Vessels Piping. 86 (1), 110-121 (2009).
  14. Bate, S. K., Charles, R., Warren, A. Finite element analysis of a single bead-on-plate specimen using SYSWELD. Int J Press Vessels Piping. 86 (1), 73-78 (2009).
  15. Coules, H. E., Smith, D. J., Venkata, K. A., Truman, C. E. A method for reconstruction of residual stress fields from measurements made in an incompatible region. Int J Solids Str. 51 (10), 1980-1990 (2014).
  16. Smith, M. C., Smith, A. C., Wimpory, R., Ohms, C. A review of the NeT Task Group 1 residual stress measurement and analysis round robin on a single weld bead-on-plate specimen. Int J Press Vessels Piping. 120, 93-140 (2014).
  17. Na, M. G., Kim, J. W., Lim, D. H. Prediction of residual stress for dissimilar metals welding at nuclear power plants using fuzzy neural network models. Nucl Eng Technol. 39 (4), 337-348 (2007).
  18. Na, M. G., Kim, J. W., Lim, D. H., Kang, Y. J. Residual stress prediction of dissimilar metals welding at NPPs using support vector regression. Nucl Eng Design. 238 (7), 1503-1510 (2008).
  19. Edwin Raja Dhas, J., Kumanan, S. Evolutionary fuzzy SVR modeling of weld residual stress. Appl Soft Comput J. 42, 423-430 (2016).
  20. Koo, Y. D., Yoo, K. H., Na, M. G. Estimation of residual stress in welding of dissimilar metals at nuclear power plants using cascaded support vector regression. Nucl Eng Technol. 49 (4), 817-824 (2017).
  21. Kitano, H., Nakamura, T. Predicting residual weld stress distribution with an adaptive neuro-fuzzy inference system. Int J Automat Technol. 12 (3), 290-296 (2018).
  22. Mathew, J., Griffin, J., Alamaniotis, M., Kanarachos, S., Fitzpatrick, M. E. Prediction of welding residual stresses using machine learning: Comparison between neural networks and neuro-fuzzy systems. Appl Soft Comput J. 70, 131-146 (2018).
  23. Liu, F., et al. Prediction of welding residual stress and deformation in electro-gas welding using artificial neural network. Mater Today Comm. 29 (May), 102786(2021).
  24. Muransky, O., Hamelin, C. J., Smith, M. C., Bendeich, P. J., Edwards, L. The effect of plasticity theory on predicted residual stress fields in numerical weld analyses. Computat Mater Sci. 54, 125-134 (2012).
  25. Miao, Z., Margetts, L., Vasileiou, A. N., Yin, H. Surrogate model development using simulation data to predict weld residual stress: A case study based on the NeT-TG1 benchmark. Int J Press Vessels Piping. 206, 105014(2023).
  26. Seeger, M. Gaussian processes for machine learning. Int J Neural Sys. 14 (02), 69-106 (2004).
  27. Chen, S. J., Zhang, Z. K. Temperature prediction of friction stir welding based on Bayesian neural network. Appl Mech Mater. 48, 1208-1212 (2011).

Reprints and Permissions

Request permission to reuse the text or figures of this JoVE article

Request Permission

Tags

Surrogate ModelWelding SimulationResidual Stress PredictionArtificial Neural NetworkFinite Element SimulationData AutomationPython ScriptingMacro FunctionsMachine Learning ModelsStructural Integrity

Related Articles