Vai al contenuto

Iterazione non lineare e integrazione temporale

FrontISTR fa avanzare la soluzione combinando iterazioni non lineari e integrazione temporale a ogni sottopasso nell'ambito del controllo degli incrementi di ciascun passo. Questa pagina descrive le strutture iterative collocate tra il controllo esterno dei passi e il solver lineare interno: iterazioni di Newton-Raphson, iterazioni di contatto, integrazione temporale per l'analisi dinamica e il quadro per l'avanzamento temporale e l'iterazione non lineare nella conduzione termica transitoria.

Panoramica

La soluzione non lineare e l'integrazione temporale all'interno di un passo hanno una struttura annidata composta da più cicli, dall'esterno verso l'interno. Ciascun livello ha il ruolo seguente.

Livello Ruolo Pagina di riferimento principale
Ciclo dei passi Suddivide l'intera analisi in più passi e commuta condizioni al contorno, carichi, contatto e attivazione degli elementi. Controllo dei passi
Ciclo dei sottopassi Suddivide un passo in incrementi temporali e avanza usando incrementi fissi o incrementi automatici e cutback. Controllo dei passi
Avanzamento dello stato mediante integrazione temporale Nell'analisi dinamica e nella conduzione termica transitoria, ricava lo stato al tempo successivo a partire dallo stato del passo precedente. Questa pagina
Ciclo di ricerca dello stato di contatto Nell'analisi di contatto, ricerca le variazioni dello stato di contatto (contatto/separazione) e aggiorna la struttura della matrice di rigidezza. Questa pagina
Iterazione esterna di Lagrange aumentato Con contatto ALAGRANGE, migliora progressivamente l'accuratezza del vincolo di contatto. Questa pagina
Iterazione di Newton Risolve iterativamente le equazioni di equilibrio non lineari mediante il metodo di Newton-Raphson. Questa pagina
Soluzione del sistema lineare Risolve il sistema lineare basato sulla matrice di rigidezza tangente a ogni iterazione di Newton. Solver e precondizionamento

I livelli presenti dipendono dal tipo di analisi.

Tipo di analisi Integrazione temporale Ricerca dello stato di contatto Iterazione esterna Iterazione di Newton
Analisi statica lineare
Analisi statica non lineare (senza contatto)
Analisi statica non lineare (contatto SLAGRANGE)
Analisi statica non lineare (contatto ALAGRANGE)
Analisi dinamica, implicita Newmark-β Sì (se non lineare)
Analisi dinamica, esplicita Differenze centrali
Analisi di risposta in frequenza Sovrapposizione modale
Conduzione termica transitoria Crank-Nicolson / Eulero all'indietro Sì (se le proprietà del materiale dipendono dalla temperatura)
Conduzione termica stazionaria Sì (se le proprietà del materiale dipendono dalla temperatura)

Per la scelta del tipo di contatto e dell'algoritmo stessi, vedere Contatto e incorporamento. Questa pagina descrive invece come l'algoritmo selezionato è organizzato come ciclo iterativo.

Scelta dello schema di soluzione

La struttura iterativa viene determinata automaticamente in base al tipo di analisi selezionato (Tipi di analisi), alla presenza o assenza di non linearità (non linearità geometrica, non linearità del materiale o contatto) e all'algoritmo di contatto (SLAGRANGE o ALAGRANGE). L'utente regola direttamente i limiti superiori del numero di iterazioni e i criteri di convergenza.

Per la regolazione di queste impostazioni valgono le linee guida seguenti.

  • Nelle analisi standard, il limite superiore predefinito del numero di iterazioni è in genere sufficiente. Se un problema difficile da far convergere raggiunge il numero massimo di iterazioni senza convergere, utilizzare innanzitutto il cutback (Controllo dei passi); aumentare il limite superiore soltanto se questo non migliora la convergenza.
  • Regolare i criteri di convergenza in modo da bilanciare stabilità dell'analisi e tempo di calcolo. Criteri più severi migliorano l'accuratezza dell'equilibrio ma aumentano il numero di iterazioni. Nelle analisi di contatto e nelle analisi che coinvolgono moltiplicatori di Lagrange, combinare il criterio sull'incremento di spostamento o sul moltiplicatore di Lagrange con il criterio sul residuo può migliorare la stabilità.
  • Per i parametri di integrazione temporale dell'analisi dinamica (coefficienti Newmark-β), iniziare con una combinazione standard di valori e regolarli quando si desidera modificare le caratteristiche di smorzamento numerico della risposta vibratoria.
  • Per lo schema di integrazione temporale della conduzione termica transitoria, utilizzare Crank-Nicolson per problemi con variazioni di temperatura regolari ed Eulero all'indietro quando sono più importanti variazioni brusche o la stabilità a lungo termine.

Iterazione di Newton-Raphson nell'analisi statica

Nell'analisi statica non lineare, le equazioni di equilibrio che contengono non linearità geometriche o del materiale vengono risolte iterativamente mediante il metodo di Newton-Raphson. Ogni iterazione procede come segue.

  1. Valutare il vettore residuo \(\boldsymbol{R}\) alla soluzione corrente.
  2. Assemblare la matrice di rigidezza tangente \(\boldsymbol{K}_T\).
  3. Risolvere il sistema lineare \(\boldsymbol{K}_T \Delta \boldsymbol{u} = -\boldsymbol{R}\) per ottenere la correzione di spostamento \(\Delta \boldsymbol{u}\).
  4. Aggiornare la soluzione come \(\boldsymbol{u} \leftarrow \boldsymbol{u} + \Delta \boldsymbol{u}\).
  5. Confrontare con i criteri di convergenza. Se la convergenza è raggiunta, terminare l'iterazione; in caso contrario tornare al punto 1.

Il solver lineare esegue la soluzione del sistema lineare (punto 3). Per la scelta del solver e del precondizionatore, vedere Solver e precondizionamento.

L'iterazione è controllata mediante i parametri di controllo dei passi di !STEP. I principali valori di controllo sono i seguenti.

Ruolo Parametro
Limite superiore del numero di iterazioni. Se il limite viene raggiunto senza convergenza, il sottopasso è soggetto a cutback. MAXITER
Criterio di convergenza basato sulla norma relativa del residuo. CONVERG
Criterio di convergenza basato sul rapporto delle norme della correzione di spostamento. Utilizzato insieme al criterio sul residuo per migliorare la stabilità. CONVERG_DDISP
Criterio di divergenza per la norma del residuo. L'iterazione viene terminata quando questo valore viene superato. MAXRES

Il numero massimo di iterazioni di Newton cui fanno riferimento le decisioni di incremento automatico e cutback in Controllo dei passi indica il numero di iterazioni di Newton descritte in questa pagina. Il controllo automatico degli incrementi aumenta l'incremento temporale dopo un sottopasso convergente in poche iterazioni e lo riduce dopo un sottopasso che ha richiesto molte iterazioni.

Iterazione di contatto nell'analisi statica

Nell'analisi di contatto, lo stato di contatto cambia durante l'iterazione a causa di contatto, separazione e scorrimento sulle superfici di contatto; pertanto l'iterazione di Newton viene combinata con aggiornamenti dello stato di contatto. La struttura dipende dall'algoritmo di soluzione del contatto.

Entrambi gli algoritmi collocano un ciclo di ricerca dello stato di contatto al livello più esterno. A ogni passaggio di questo ciclo, lo stato di contatto (contatto/separazione) viene rivalutato dopo che l'iterazione di Newton interna è convergente. Se lo stato è cambiato, viene aggiornata la struttura della matrice di rigidezza e l'iterazione interna viene eseguita nuovamente. Il ciclo termina quando lo stato di contatto non cambia rispetto al passaggio precedente e sono soddisfatti i criteri di convergenza del contatto (criteri sulla forza di contatto e sul moltiplicatore di Lagrange). Il limite superiore del numero di passaggi è specificato da MAXCONTITER di !STEP.

Con il contatto SLAGRANGE, i gradi di libertà di contatto vengono incorporati nel sistema lineare mediante il metodo standard dei moltiplicatori di Lagrange, dando una struttura a due livelli nella quale l'iterazione di Newton è collocata direttamente all'interno del ciclo di ricerca dello stato di contatto. Non è presente alcuna iterazione di Lagrange aumentato.

Con il contatto ALAGRANGE, all'interno del ciclo di ricerca dello stato di contatto viene aggiunta un'iterazione di Lagrange aumentato e al suo interno viene eseguita l'iterazione di Newton, ottenendo una struttura a tre livelli. A ogni iterazione di Lagrange aumentato, il vincolo di contatto viene rivalutato mediante una combinazione del termine di penalità e del moltiplicatore di Lagrange, migliorando progressivamente l'accuratezza del vincolo. Il limite superiore del numero di iterazioni di Lagrange aumentato è specificato da AUGITER di !CONTACT_ALGO.

I valori di controllo dell'iterazione di contatto sono i seguenti.

Ruolo Specificato in
Limite superiore del numero di iterazioni del ciclo di ricerca dello stato di contatto. Utilizzato sia per SLAGRANGE sia per ALAGRANGE. !STEP MAXCONTITER
Limite superiore del numero di iterazioni di Lagrange aumentato. Utilizzato soltanto per ALAGRANGE. !CONTACT_ALGO AUGITER
Criterio di convergenza per la correzione del moltiplicatore di Lagrange. Utilizzato insieme al criterio sul residuo nelle analisi con contatto. !STEP CONVERG_LAG

Il numero di iterazioni di contatto cui fanno riferimento le decisioni di incremento automatico in Controllo dei passi indica il numero di iterazioni descritte in questa pagina, inclusi gli aggiornamenti dello stato di contatto. Le analisi nelle quali contatto e separazione si verificano frequentemente tendono a richiedere più iterazioni di contatto, influenzando anche le decisioni di incremento automatico e cutback. Per i tipi di contatto, le definizioni delle coppie e la scelta dell'algoritmo, vedere Contatto e incorporamento. Per la soluzione del sistema lineare contenente gradi di libertà di contatto, vedere Solver e precondizionamento.

Integrazione temporale nell'analisi dinamica (metodo implicito)

Il metodo implicito per l'analisi dinamica utilizza il metodo di Newmark-β per mettere in relazione spostamento, velocità e accelerazione al tempo successivo a ogni passo temporale e combina tali relazioni con l'equazione del moto per ottenere lo stato al tempo \(t + \Delta t\). La restrizione di stabilità sul passo temporale \(\Delta t\) è poco severa, consentendo di risolvere in modo efficiente risposte strutturali dominate da componenti a bassa frequenza.

Vengono utilizzati i due parametri di integrazione temporale seguenti.

Parametro Ruolo
\(\beta\) Coefficiente relativo all'interpolazione temporale dello spostamento.
\(\gamma\) Coefficiente relativo all'interpolazione temporale della velocità.

La combinazione \(\beta = 1/4\) e \(\gamma = 1/2\) è detta metodo dell'accelerazione media ed è una scelta standard incondizionatamente stabile e priva di smorzamento numerico. Per introdurre smorzamento numerico, scegliere \(\gamma\) maggiore di \(1/2\). Per i dettagli matematici delle combinazioni dei parametri, della stabilità e delle caratteristiche dell'errore, vedere il manuale teorico.

Quando è inclusa una non linearità (geometrica, del materiale o di contatto), l'iterazione di Newton viene eseguita all'interno di ciascun passo temporale; il sistema lineare viene risolto nell'iterazione e lo stato viene aggiornato. I criteri di convergenza utilizzano CONVERG e i valori correlati condivisi con l'analisi statica. Nell'analisi dinamica con contatto, la stessa struttura iterativa di Iterazione di contatto nell'analisi statica viene incorporata in ciascun passo temporale.

Il passo temporale nell'analisi dinamica è controllato principalmente dalle condizioni temporali di !STEP. Con incrementi fissi, !STEP specifica DTIME come passo temporale ed ETIME come durata del passo. I valori n_step e t_delta di !DYNAMIC vengono trattati come valori predefiniti quando !STEP è omesso e per compatibilità con le versioni precedenti. Nel metodo implicito non lineare, !STEP con INC_TYPE=AUTO abilita incrementi automatici e cutback, aumentando o diminuendo il passo temporale in base allo stato delle iterazioni di Newton e di contatto. Sia con incrementi fissi sia con incrementi automatici, impostare il passo temporale tenendo conto sia della convergenza sia dell'accuratezza richiesta.

Integrazione temporale nell'analisi dinamica (metodo esplicito)

Il metodo esplicito per l'analisi dinamica utilizza il metodo delle differenze centrali per calcolare direttamente lo stato al tempo successivo usando soltanto le informazioni su spostamento, velocità e accelerazione al tempo precedente. Poiché non vengono risolte equazioni simultanee, il costo di calcolo per passo è basso. Anche quando è inclusa una non linearità, ciascun passo temporale è un aggiornamento a singolo stadio senza iterazione di Newton.

Il passo temporale ha un limite superiore imposto da una condizione di stabilità basata sul periodo naturale minimo del sistema (condizione CFL). Un passo temporale superiore a questo limite provoca la divergenza della soluzione numerica, per cui non è possibile utilizzare passi temporali grandi come nel metodo implicito. Il metodo esplicito è vantaggioso per fenomeni quali impatto, propagazione ondosa e contatto ad alta velocità, nei quali sono intrinsecamente necessari passi temporali piccoli.

Quando è incluso il contatto, per imporre i vincoli di contatto viene utilizzato il metodo Forward Increment Lagrange. Le forze di contatto vengono valutate in modo coerente con l'aggiornamento a singolo stadio del metodo esplicito.

Metodo di soluzione per l'analisi di risposta in frequenza

L'analisi di risposta in frequenza ottiene direttamente la risposta periodica stazionaria nel dominio della frequenza mediante il metodo di sovrapposizione modale. Valuta la risposta facendo variare la frequenza di eccitazione e non richiede di seguire una storia temporale mediante iterazioni. Non vengono eseguite né iterazioni non lineari né integrazione temporale.

Prima di eseguire l'analisi di risposta in frequenza, è necessario effettuare l'analisi modale per lo stesso sistema ed estrarre il numero richiesto di modi naturali. Sono supportati soltanto modelli lineari; l'analisi non può essere eseguita se è abilitata la non linearità geometrica o del materiale. Per l'inquadramento di questo tipo di analisi, vedere Tipi di analisi.

Avanzamento temporale e iterazione non lineare nella conduzione termica transitoria

La conduzione termica transitoria dispone di un proprio ciclo temporale interamente gestito all'interno di !HEAT. Il passo temporale è controllato tramite un percorso separato da !STEP e !AUTOINC_PARAM dell'analisi strutturale e, quando le proprietà del materiale dipendono dalla temperatura, viene eseguita un'iterazione non lineare all'interno di ciascun passo temporale.

Lo schema di integrazione temporale viene selezionato mediante il parametro \(\beta\) di !HEAT.

\(\beta\) Schema Caratteristiche
0.5 Metodo di Crank-Nicolson Accuratezza del secondo ordine. Adatto a problemi con variazioni di temperatura regolari.
1.0 Metodo di Eulero all'indietro Accuratezza del primo ordine. Incondizionatamente stabile e adatto alla stabilità nelle analisi di lunga durata e con brusche variazioni di temperatura.

Il passo temporale viene controllato in modo adattivo combinando passo temporale iniziale, passo temporale minimo e variazione massima di temperatura per passo. Se, dopo il calcolo di un passo temporale, la variazione di temperatura supera DELTMX, il passo temporale viene ridotto e il passo viene ricalcolato. L'analisi viene interrotta se il passo temporale scende al di sotto del passo minimo DTMIN.

Quando le proprietà del materiale dipendono dalla temperatura, all'interno di ciascun passo temporale viene eseguita un'iterazione non lineare. L'iterazione è controllata come segue.

Ruolo Parametro
Limite superiore delle iterazioni non lineari. !HEAT ITMAX
Criterio di convergenza. !HEAT EPS

La conduzione termica stazionaria non utilizza passi temporali; viene eseguita soltanto l'iterazione non lineare quando le proprietà del materiale dipendono dalla temperatura. Poiché il controllo temporale dell'analisi di conduzione termica è indipendente da !STEP dell'analisi strutturale, quando si regola il passo temporale verificare le impostazioni di !HEAT.

Argomenti correlati