abaqus fortran no modo mpi fornece resultados diferentes usando matmul
-
21-12-2019 - |
Pergunta
Estou usando a codificação de formato livre Fortran90 e o compilador Intel ifort para criar uma sub-rotina de usuário que é usada posteriormente em um cálculo de elementos finitos no ABAQUS.Essa rotina funciona muito bem em um único núcleo.No entanto, ao usá -lo no modo paralelo (MPI), a simulação trava com (Sinal 11), rastreei -o até as seguintes linhas de código.Isso causará erros
BBAR1 = J**(-2d0/3d0)*( MATMUL( F1,TRANSPOSE(F1) ) )
onde esta versão fará isso:
BBAR1 = ( MATMUL( F1,TRANSPOSE(F1) ) )
BBAR1 = J**(-2d0/3d0)*BBAR1
Isso está me deixando louco.Alguém tem alguma idéia do porquê disso?
Grato por qualquer conselho
Solução
Finalmente consegui a solução para isso.Hoje eu tentei aleatoriamente fazer o downgrade da minha versão do Intel Compiler do IFORT 14.0 para o IFORT 12.1.5 agora tudo funciona bem ....Isso é realmente estranho.De alguma forma, a solução paralela no ABAQUS não funciona corretamente com a versão mais recente da Intel.