FrontISTR / Getting Started
Primi passi
Analizza una cerniera con FrontISTR e poi osserva la distribuzione delle tensioni in ParaView. Con il solver e l’esempio già pronti, per questa prima esecuzione non è necessario creare una mesh.
01
Preparare il solver
Prepara il binario per Windows oppure l’immagine Docker utilizzabile su Windows, macOS e Linux.
Windows (64 bit)
Estrai il file ZIP. Dopo aver preparato l’esempio nel passaggio successivo, copia fistr1.exe e tutte le DLL incluse nella cartella dell’esempio (01_elastic_hinge).
Docker (Windows / macOS / Linux)
Avvia Docker, quindi esegui il comando seguente in un terminale. In Windows, usa Docker in modalità container Linux ed esegui il comando in PowerShell.
docker pull --platform linux/amd64 registry.gitlab.com/frontistr-commons/frontistr/fistr1:master
L’immagine ufficiale attuale è compilata per amd64. Sui Mac con Apple Silicon viene eseguita tramite emulazione e può quindi richiedere più tempo.
Compilare dal codice sorgente
Puoi anche compilare FrontISTR dal codice sorgente su uno qualsiasi di questi sistemi operativi. Dopo aver installato i compilatori e le librerie necessarie, CMake rileva l’ambiente e configura la compilazione.
Installa gli strumenti di base usando i comandi indicati sotto per la tua distribuzione. Puoi usare l’ambiente di sviluppo esistente senza aggiungere MPI o altre librerie opzionali.
Ubuntu / Debian
sudo apt-get update
sudo apt-get install build-essential cmake git gfortran
RHEL / Rocky Linux / AlmaLinux
sudo dnf install gcc gcc-c++ gcc-gfortran make cmake git
I comandi seguenti mostrano un esempio di compilazione e installazione su macOS e Linux. Gli eseguibili vengono installati nella directory bin della home, quindi non sono necessari sudo né modifiche a PATH. Consulta la guida alla compilazione per la preparazione di macOS/Windows e per le librerie opzionali.
git clone https://gitlab.com/FrontISTR-Commons/FrontISTR.git
cd FrontISTR
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$HOME"
cmake --build build --parallel
cmake --install build
Puoi eseguire direttamente l’esempio incluso senza scaricarlo di nuovo. Esegui l’analisi con i comandi seguenti, quindi passa al passaggio 04 per visualizzare il risultato in ParaView.
cd tutorial/01_elastic_hinge
"$HOME/bin/fistr1"
I binari e il container usano le versioni master / LATEST, aggiornate continuamente. Consulta la pagina dei download per le versioni rilasciate e gli altri ambienti. Altre versioni e ambienti
02
Scaricare l’esempio
Scarica ed estrai lo ZIP dell’esempio. Usa i tre file di input presenti nella cartella 01_elastic_hinge.
Esegui l’analisi nella cartella 01_elastic_hinge estratta. Per l’estrazione dalla riga di comando, macOS e Linux usano unzip.
01_elastic_hinge/
hecmw_ctrl.dat- Percorsi dei file di input e output
hinge.cnt- Materiali, carichi, vincoli e impostazioni dell’analisi
hinge.msh- Mesh della cerniera
Per preparare l’esempio dalla riga di comando, esegui l’intero blocco seguente nella posizione in cui vuoi conservarlo. Il file viene scaricato ed estratto, quindi si entra nella cartella dell’esempio. A quel punto puoi eseguire il comando di analisi nello stesso terminale.
Windows / PowerShell
curl.exe -fL -o 01_elastic_hinge.zip https://www.frontistr.com/sys/files/01_elastic_hinge.zip
if ($LASTEXITCODE -eq 0) {
Expand-Archive -Path 01_elastic_hinge.zip -DestinationPath . -ErrorAction Stop
cd 01_elastic_hinge
}macOS / Linux
curl -fL -o 01_elastic_hinge.zip https://www.frontistr.com/sys/files/01_elastic_hinge.zip &&
unzip 01_elastic_hinge.zip &&
cd 01_elastic_hinge03
Eseguire dalla cartella dell’esempio
Esegui l’analisi nella cartella dell’esempio (01_elastic_hinge). Verifica che hecmw_ctrl.dat sia presente in quella cartella.
Binario per Windows
Fai doppio clic su fistr1.exe nella cartella dell’esempio. Anche le DLL incluse devono trovarsi nella stessa cartella. Se la finestra si chiude al termine dell’esecuzione, apri in ParaView i risultati salvati nella cartella dell’esempio.
Per controllare il log
Se la finestra si chiude immediatamente senza produrre risultati, oppure se vuoi controllare il log, apri PowerShell nella cartella dell’esempio ed esegui:
.\fistr1.exeDocker (Windows / macOS / Linux)
docker run --rm --platform linux/amd64 -v "${PWD}:/work" -w /work registry.gitlab.com/frontistr-commons/frontistr/fistr1:master fistr1Apri un terminale nella cartella dell’esempio (PowerShell in Windows) ed esegui il comando. La cartella dell’esempio viene montata in /work nel container. I risultati vengono salvati nella cartella locale dell’esempio.
Se esegui l’analisi da terminale, il messaggio seguente alla fine del log conferma che l’analisi è terminata. Il tempo di esecuzione dipende dal PC.
FrontISTR Completed !!Se qualcosa non funziona
Se i file di input non vengono trovati, verifica di eseguire l’analisi dalla cartella 01_elastic_hinge. In Windows, controlla anche che fistr1.exe e tutte le DLL incluse siano state copiate nella stessa cartella.
04
Aprire il risultato in ParaView
Installa ParaView. Seleziona File → Open e apri il file seguente nella cartella dell’esempio.
hinge_vis_psf.0001.pvtu
I risultati vengono salvati nella stessa cartella 01_elastic_hinge. È necessaria anche la cartella adiacente hinge_vis_psf.0001, quindi non spostare il file .pvtu da solo. 0000 è lo stato iniziale, 0001 è il risultato dopo l’applicazione del carico.
Schermate: ParaView 6.1.0 su macOS. Le operazioni di base sono le stesse su Windows e Linux.
-
04 / 1
Subito dopo l’apertura del file. Fai clic su Apply a sinistra.
-
04 / 2
La geometria della cerniera appare dopo aver fatto clic su Apply.
-
04 / 3
Nella barra degli strumenti in alto, cambia Solid Color in NodalMISES per visualizzare la distribuzione della tensione equivalente di von Mises.
Colori e sfondo dipendono dalle impostazioni di ParaView e non devono necessariamente coincidere con l’illustrazione. Se il modello non è visibile, prova Reset Camera.
La tua prima analisi è completata
Ora esamina i carichi e le impostazioni del materiale nell’esempio. Il manuale descrive questo modello e presenta altri tipi di analisi.