#4247
bernagozzi
Partecipante

Il problema della convergenza è uno dei più spinosi da affrontare in fase di modellazione anche perché non ha una risposta univoca.
In pratica quando si lancia il Modflow, il software inizia a procedere con una serie di calcoli per approssimazioni successive in modo da equilibrare in modo migliore possibile il flusso in entrata e in uscita dalle singole celle del modello. In teoria in un modello in condizioni stazionarie per ogni cella il flusso in entrata dovrebbe essere uguale al flusso in uscita e questo dovrebbe valere anche a scala dell’intero modello. Se però osservi il mass balance vedrai che, anche quando il modello converge, la somma dei valori in ingresso non sono esattamente uguali ai valori in uscita, ma esiste sempre una piccola differenza.
Se il modello Modflow è impostato “bene”, il programma inizia a procedere per approssimazioni successive e, iterazione dopo iterazione, raggiunge scarti sempre più bassi fino ad arrivare ad una soglia di errore ritenuta accettabile e in questi casi “converge”.
Se il modello Modflow è impostato “male” il programma, anche dopo un elevato numero di iterazioni, non riesce a scendere al di sotto di una certa soglia di errore e quindi “non converge”.
Ora, il concetto di impostato “bene” e “male” non è riferito alla coerenza con la realtà, ma è riferito unicamente al meccanismo utilizzato dal software per procedere con la risoluzione.
Un modello quindi può essere impostato in modo assolutamente fedele, ma avere caratteristiche tali da non essere “digeribile” dal Modflow e quindi con difficoltà di convergenza.
Premesso questo, se un modello non converge si può agire su due fronti: a livello di motore di risoluzione o a livello di impostazione del modello.
Per agire a livello di motore di risoluzione occorre cliccare

[attachment=1:1801noev]Modflow-solver-option.jpg[/attachment:1801noev]

Model -> Modflow -> solver option

e si aprirà la seguente finestra

[attachment=0:1801noev]solver-option.jpg[/attachment:1801noev]

Modificando i parametri è possibile fare aumentare le iterazioni e quindi aumentare le probabilità che il modello converga. In particolare puoi provare ad aumentare i due valori di inner e outer iteration. Ti dico subito che di solito non funziona, però un tentativo può valere la pena di farlo. Se lo fai, però, usa una copia del file, in modo che ti resti una versione con i valori di default del programma, che sono stati studiati per andare bene nella maggior parte delle situazioni.
Se quindi questo tentativo fallisce (cosa probabile), torna alla versione salvata in precedenza e prova a vedere se si verificano una o più di queste situazioni:

1) esistono zone del modello Modflow caratterizzate da brusche variazioni del coefficiente di permeabilità (ad esempio celle adiacenti con coefficiente di permeabilità di 2 o più ordini di grandezza di differenza)?
2) esistono zone del modello caratterizzate da gradienti molto elevati (ad esempio due condizioni al contorno con forti differenze di carico idraulico che, in qualche punto del modello, sono distanziate di poche celle)?
3) esistono forti assottigliamenti di layer (punti in cui il top e il bottom di un layer quasi coincidono)?

Se esistono condizioni di questo tipo è pssibile che il modello faccia fatica a convergere e in questi casi, con qualche accorgimento, è possibile aggirare il problema.
Esistono anche altre combinazioni di fattori che potrebbero portare alla mancata convergenza del modello. Io ne ho citati alcuni fra i più comuni, non è detto però che il tuo caso rientri fra questi.
Saluti!