Vai al contenuto

Analisi statica di un modello di stampo su larga scala

Questo caso riguarda un’analisi statica lineare in cui viene applicata una pressione uniforme a un assieme di stampo. Sono disponibili quattro mesh con elementi tetraedrici del secondo ordine, da circa 1 milione di nodi a circa 210 milioni di nodi.

Il modello di maggiori dimensioni, Mold_200mil, è stato eseguito su 13 nodi di calcolo con 208 processi e costituisce un caso che mostra fino a quale scala sia possibile gestire modelli con geometrie impiegate nella pratica. Le quattro varianti condividono geometria, materiale e condizioni al contorno e differiscono soltanto per la finezza della mesh; consentono quindi anche di confrontare l’effetto della scala sull’accuratezza e sulle risorse di calcolo.

Geometria complessiva, parte inferiore e sezione del modello di stampo

Figura 1. Assieme dello stampo: parti complete, parti inferiori e sezione.

Modello di analisi

I quattro modelli condividono geometria, materiale e condizioni al contorno e differiscono per la finezza della mesh.

Voce Descrizione
Geometria e connessioni Assieme dello stampo. I componenti sono collegati mediante nodi condivisi.
Elementi Elementi tetraedrici del secondo ordine
Materiale Structural Steel, materiale elastico lineare. Modulo di Young 200 GPa, coefficiente di Poisson 0.3
Carico Pressione uniforme di 1 MPa sulla superficie superiore (gruppo di superfici PRESSURE1)
Vincolo Tutte e tre le componenti di traslazione sono fissate sulla superficie inferiore (gruppo di nodi CONSTRAINT1)

Posizioni del carico e dei vincoli dello stampo e gruppi di superfici degli elementi sulla superficie del prodotto

Figura 2. Carico di pressione, vincoli di spostamento e gruppi della superficie del prodotto.

Risultati dell’analisi

Spostamento e tensione al variare della dimensione della mesh

Modello Spostamento minimo in Z (mm) Tensione di von Mises massima, valore nodale (MPa) Tensione di von Mises massima, valore dell’elemento (MPa)
Mold_001mil -0.2527 118.2 75.9
Mold_011mil -0.2638 130.7 101.3
Mold_055mil -0.2659 189.9 156.5
Mold_200mil -0.2666 250.4 213.1

Raffinando la mesh, la variazione dello spostamento minimo in Z si riduce; tra le due mesh di maggiori dimensioni, la differenza ai valori mostrati nella tabella è di 0.0007 mm. Al contrario, la tensione di von Mises massima continua ad aumentare sia per i valori nodali sia per i valori degli elementi. Per valutare la convergenza della tensione o l’eventuale presenza di una singolarità, è necessario esaminare la posizione del valore massimo e la geometria e le condizioni al contorno circostanti.

Mold_001mil Mold_011mil
Vista ingrandita della tensione di von Mises: Mold_001mil Vista ingrandita della tensione di von Mises: Mold_011mil
Mold_055mil Mold_200mil
Vista ingrandita della tensione di von Mises: Mold_055mil Vista ingrandita della tensione di von Mises: Mold_200mil
Figura 3. Mesh e tensione nodale di von Mises per le quattro dimensioni del modello (MPa).

La Figura 3 mostra i valori estrapolati ai nodi (NodalMISES); l’intervallo della legenda è fissato a 0〜50 MPa in tutte le figure. Le differenze tra le mesh possono essere confrontate osservando gli spigoli degli elementi.

Registro dell’esecuzione su larga scala

I calcoli sono stati eseguiti nel luglio 2020 con FrontISTR 5.1.0, utilizzando il metodo CG, una soglia di convergenza di 1.0E-06 e un massimo di 100,000 iterazioni. L’ambiente di esecuzione era un cluster di PC; ogni nodo disponeva di due processori Xeon E5-2670 (2.6 GHz, 8 core), 128 GB di memoria ed era collegato tramite InfiniBand FDR. La modalità di esecuzione parallela era Flat MPI (1 processo, 1 thread per processo).

Modello Processi MPI (nodi) Precondizionatore Iterazioni Tempo del solutore (s)
Mold_001mil 32(2) AMG(ML) 611 80.16
Mold_011mil 64(4) AMG(ML) 854 782.65
Mold_055mil 128(8) AMG(ML) 778 2,015.05
Mold_200mil 208(13) Scalatura diagonale 92,626 96,969.34

I tempi corrispondono ai valori solve del log di esecuzione. Con AMG, Mold_200mil esauriva la memoria anche su 13 nodi, quindi il precondizionatore è stato cambiato in scalatura diagonale; il numero di iterazioni risultante è 92,626 e il tempo di calcolo è di circa 27 ore.

Dati di analisi

Modello Numero di nodi Numero di elementi Dimensione compressa Download
Mold_001mil 1,015,778 638,041 35.6 MB Mold_001mil.tar.gz
Mold_011mil 11,036,922 7,617,345 461 MB Mold_011mil.tar.gz
Mold_055mil 55,508,692 39,271,921 2.41 GB Mold_055mil.tar.gz
Mold_200mil 209,893,102 151,044,460 9.58 GB 5 parti (vedere sotto)

La versione dei dati è 1.0.0.

Come ottenere Mold_200mil

Mold_200mil supera il limite per singolo file (5 GB), pertanto è registrato in 5 parti da 2 GiB ciascuna. Scaricare tutti i file nella stessa directory e quindi concatenarli.

for i in 00 01 02 03 04; do
  curl -fLO "https://gitlab.com/api/v4/projects/21515176/packages/generic/Mold_200mil/1.0.0/Mold_200mil.tar.gz.part$i"
done
cat Mold_200mil.tar.gz.part?? > Mold_200mil.tar.gz

Lo SHA-256 del file concatenato è c67d5b8990302c84103de7e8a2848449f0035f7813cd122fb443e206f38b8606.

Riferimenti

Collaboratori

  • Creazione dei dati CAD e di input: TechnoStar
  • Conversione in FrontISTR e analisi parallela: Yamaguchi e Inagaki