Analiză statică a unui model de matriță la scară mare¶
Acesta este un studiu de caz de analiză statică liniară în care se aplică o presiune distribuită uniform unui ansamblu de matriță. Sunt disponibile patru plase cu elemente tetraedrice de ordinul al doilea, de la aproximativ 1 milion de noduri până la aproximativ 210 milioane de noduri.
Modelul de cea mai mare dimensiune, Mold_200mil, a fost rulat pe 13 noduri de calcul cu 208 procese și poate fi folosit ca exemplu pentru scara până la care pot fi tratate modele cu geometrii utilizate în practică. Cele patru modele au în comun geometria, materialul și condițiile la limită și diferă numai prin gradul de rafinare a plasei, astfel încât se poate compara și influența dimensiunii modelului asupra preciziei și resurselor de calcul.

Model de analiză¶
Cele patru modele au în comun geometria, materialul și condițiile la limită și diferă prin gradul de rafinare a plasei.
| Element | Conținut |
|---|---|
| Geometrie și conexiuni | Ansamblu de matriță. Componentele sunt conectate prin noduri comune. |
| Elemente | Elemente tetraedrice de ordinul al doilea |
| Material | Oțel structural, material elastic liniar. Modulul lui Young 200 GPa, coeficientul lui Poisson 0.3 |
| Sarcină | Presiune distribuită uniform de 1 MPa pe suprafața superioară (grupul de suprafețe PRESSURE1) |
| Constrângeri | Cele trei componente de translație sunt fixate pe suprafața inferioară (grupul de noduri CONSTRAINT1) |

Rezultatele analizei¶
Deplasare și tensiune în funcție de dimensiunea plasei¶
| Numele modelului | Valoarea minimă a deplasării Z (mm) | Tensiunea Mises maximă, valoare nodală (MPa) | Tensiunea Mises maximă, valoare de element (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 |
Pe măsură ce plasa este rafinată, variația valorii minime a deplasării Z devine mai mică, iar diferența dintre ultimele două dimensiuni este de 0.0007 mm la precizia valorilor afișate în tabel. În schimb, tensiunea Mises maximă continuă să crească atât pentru valorile nodale, cât și pentru valorile de element. Pentru a determina dacă tensiunea converge sau dacă există un punct singular, trebuie examinate poziția valorii maxime, geometria din jur și condițiile la limită.
| Mold_001mil | Mold_011mil |
|---|---|
![]() | ![]() |
| Mold_055mil | Mold_200mil |
![]() | ![]() |
Figura 3 prezintă valorile extrapolate la noduri (NodalMISES), iar legenda este fixată la 0–50 MPa în toate imaginile. Diferențele dintre plase pot fi comparate după muchiile elementelor.
Înregistrarea execuției la scară mare¶
Calculele au fost efectuate în iulie 2020 utilizând FrontISTR 5.1.0, cu metoda CG, pragul de convergență 1.0E-06 și un număr maxim de 100,000 de iterații. Mediul de execuție a fost un cluster de PC-uri; fiecare nod de calcul era echipat cu două procesoare Xeon E5-2670 (2.6 GHz, 8 nuclee), 128 GB de memorie și conexiuni InfiniBand FDR. Modul de paralelizare a fost Flat MPI (1 proces, 1 fir de execuție).
| Numele modelului | Procese MPI (noduri) | Precondiționare | Număr de iterații | Timpul solverului (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) | Scalare diagonală | 92,626 | 96,969.34 |
Timpii sunt valorile solve din jurnalele de execuție. Când s-a utilizat AMG pentru Mold_200mil, memoria a fost insuficientă chiar și pe 13 noduri, astfel că precondiționarea a fost schimbată la scalare diagonală; numărul de iterații a fost 92,626, iar timpul de calcul a fost de aproximativ 27 de ore.
Date de analiză¶
| Numele modelului | Număr de noduri | Număr de elemente | Dimensiune comprimată | Descărcare |
|---|---|---|---|---|
| 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 părți (mai jos) |
Versiunea datelor este 1.0.0.
Obținerea Mold_200mil¶
Mold_200mil depășește limita pentru un singur fișier (5 GB), de aceea este înregistrat în 5 părți de câte 2 GiB. Descărcați toate fișierele în același director, apoi concatenați-le.
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
Valoarea SHA-256 a fișierului rezultat după concatenare este c67d5b8990302c84103de7e8a2848449f0035f7813cd122fb443e206f38b8606.
Referințe¶
Contribuții¶
- Crearea modelului CAD și a datelor de intrare: TechnoStar
- Conversie pentru FrontISTR și analiză paralelă: Yamaguchi și Inagaki



