Durante la costruzione o l'esecuzione delle simulazioni numeriche, potresti voler interrogare o modificare i valori associati a tutti o ad alcuni oggetti nel tuo modello (come zone, nodi, blocchi, , contatti, ecc.), ad esempio per avere risultati come sollecitazione o spostamento, per assegnare una extra variabile calcolata su un profilo o per variare un valore di una determinata proprietà.
Esistono diversi modi per identificare e navigare tra tutti questi oggetti utilizzando loop, divisioni e operatori, ognuno dei quali rende più facile e veloce l’esecuzione.
Fin dal primo software Itasca, tali oggetti sono stati archiviati in un elenco. L'approccio standard prevedeva l'utilizzo del While Loop per leggere tutti i puntatori di qualsiasi oggetto.
Diverse versioni fa, una nuova istruzione ForEach Loop è stata aggiunta al linguaggio FISH per semplificare l'iterazione di tutti i diversi oggetti. Questo approccio semplifica la funzione FISH, in particolare per 3DEC in cui potrebbe essere necessario attraversare tutti i blocchi e le zone all'interno di ciascun blocco, richiedendo loop nidificati utilizzando l'approccio Loop While.
Con l'avvento del multi-thread FISH, sono diventati disponibili splittings e operatori.
La suddivisione FISH consente di eseguire ripetutamente una funzione su ciascun elemento (oggetto) di tipo aggregato (elenco, array, contenitore di oggetti, ecc.). Gli operatori FISH sono una classe speciale di funzioni progettate per essere eseguite in un ambiente multi-thread.
Vuoi saperne di più?
Buon Lavoro con Flac3D