Vai al contenuto

Translation update pending

The Italian translation may be out of date because the Japanese source has changed. The existing translation remains available while it is being updated.

!SOLVER

Controllo del solver

Dati di controllo obbligatori.

Parametri

METHOD =    Metodo di soluzione (CG, BiCGSTAB, GMRES, GPBiCG, CR,PipeCG,GroppCG,DIRECT, DIRECTmkl, MUMPS)
            DIRECT     : Metodo diretto tranne che per l'analisi di contatto (solo elaborazione seriale) (attualmente non disponibile)
            DIRECTmkl  : Metodo diretto con Intel MKL
            MUMPS      : Metodo diretto con MUMPS
            Quando viene selezionato un metodo diretto, le righe dei dati vengono ignorate.
            I metodi iterativi supportano il parallelismo a thread con OpenMP

PRECOND =   Metodo di precondizionamento per solver iterativi (1, 2, 3, 5, 10, 11, 12, 22)
            1, 2       : SSOR (a blocchi) (con ordinamento multicolore)
            3          : Scaling diagonale (a blocchi)
            5          : AMG mediante il pacchetto di precondizionamento multigrid ML
            10         : ILU(0) a blocchi
            11         : ILU(1) a blocchi
            12         : ILU(2) a blocchi
            22         : AMG mediante il SA-AMG integrato in HEC-MW (AMG ad aggregazione smussata)
            10, 11 e 12 sono disponibili solo per problemi a 3 gradi di libertà
            22 è disponibile solo nelle build con LAPACK abilitato
            Per il parallelismo a thread con OpenMP sono consigliati SSOR, Diagonal Scaling, ML, SA-AMG,
            oppure Block ILU (10, 11, 12) per problemi con 3 gradi di libertà

ITERLOG =   Specifica se emettere la cronologia di convergenza del solver iterativo          (YES/NO)(Predefinito: NO)

TIMELOG =   Specifica se emettere il tempo di calcolo del solver                            (YES/NO/VERBOSE)(Predefinito: NO)

LOGLEVEL =  Livello di output delle informazioni diagnostiche del precondizionatore             (intero)(Predefinito: nessun output)
            Specificato indipendentemente da ITERLOG e TIMELOG
            Con un valore pari o superiore a 1, emette la costruzione della gerarchia e altre informazioni sui precondizionatori AMG (PRECOND=5,22)
            Con un valore pari o superiore a 2, emette informazioni più dettagliate (ad esempio l'uso della memoria)

USEJAD =    Specifica se utilizzare l'ordinamento per processori vettoriali                  (YES/NO)(Predefinito: NO)
            Valido solo quando si utilizza un metodo iterativo

SCALING =   Specifica se scalare la matrice in modo che gli elementi diagonali siano pari a 1 (YES/NO)(Predefinito: NO)
            Valido solo quando si utilizza un metodo iterativo per un problema a 3 gradi di libertà

DUMPTYPE =  Formato di dump della matrice (NONE, MM, CSR, BSR) (principalmente per il debug)
            NONE : Non eseguire il dump (Predefinito)
            MM   : Formato Matrix Market
            CSR  : Formato Compressed Sparse Row (CSR)
            BSR  : Formato CSR a blocchi

DUMPEXIT =  Termina immediatamente il programma dopo il dump della matrice                    (YES/NO)(Predefinito: NO)

MPCMETHOD = Metodo di gestione dei vincoli multipunto (1, 3)
            1: Metodo della penalità (Predefinito quando si usa un metodo diretto)
            3: Eliminazione esplicita dei gradi di libertà (Predefinito quando si usa un metodo iterativo)
            Il metodo MPC-CG (2) è stato rimosso. Se si specifica 2, viene emesso un avviso e si utilizza il metodo predefinito.

ESTCOND =   Frequenza della stima del numero di condizionamento (sperimentale)
            Stima il numero di condizionamento a ciascun intervallo di iterazioni specificato e al termine delle iterazioni
            Se viene specificato 0, non viene eseguita alcuna stima

RECOMPUTE_RESIDUAL = Frequenza di ricalcolo del vettore dei residui
            Valido solo quando per METHOD è specificato CG, BiCGSTAB, GPBiCG o PipeCG
            Il periodo di ricalcolo di GroppCG è fissato a 50 e questa impostazione non viene utilizzata
            I metodi iterativi aggiornano il vettore dei residui mediante una relazione di ricorrenza, accumulando errori di arrotondamento
            A ogni intervallo di iterazioni specificato, il vettore dei residui viene ricalcolato da {b}-[A]{x}
            Quando viene specificato 0, si usa il valore predefinito di ciascun metodo (CG: 50, BiCGSTAB: 100, GPBiCG: 20, PipeCG: 50)
            Quando viene specificato un valore negativo, non viene eseguito alcun ricalcolo periodico
            Il ricalcolo per confermare la convergenza quando il criterio di convergenza è soddisfatto viene sempre eseguito, indipendentemente da questo parametro
            Un intervallo troppo breve non solo aumenta il numero di prodotti matrice-vettore,
            ma può anche peggiorare la convergenza stessa o persino impedirne il raggiungimento
            Se si modifica il valore predefinito, verificare la cronologia di convergenza e il residuo relativo finale

METHOD2 =   Metodo di soluzione secondario (BiCGSTAB, GMRES, GPBiCG) (sperimentale)
            Valido solo quando per METHOD è specificato CG, PipeCG o GroppCG
            Se il metodo specificato da METHOD diverge, viene eseguito automaticamente il passaggio al secondo metodo e la risoluzione prosegue
            Per gli altri parametri e le righe dei dati vengono utilizzati gli stessi valori

CONTACT_ELIM = Specifica se nell'analisi di contatto viene eseguita l'eliminazione dei gradi di libertà (0,1)
               0: Esegue l'eliminazione dei gradi di libertà solo quando si usa un metodo iterativo (Predefinito)
               1: Esegue sempre l'eliminazione dei gradi di libertà (anche quando si usa un metodo diretto)

** 2ª riga e successive **

(2ª riga) NITER, iterPREmax, NREST, NCOLOR_IN, RECYCLEPRE
Variabile Tipo Descrizione
NITER I Numero di iterazioni (Predefinito: 100)
iterPREmax I Numero di iterazioni del precondizionamento Additive Schwarz (Predefinito: 1)
(Valore raccomandato: 1; 2 può essere efficace in alcuni calcoli paralleli)
NREST I Dimensione del sottospazio di Krylov (Predefinito: 10)
(Valido solo quando GMRES è selezionato come metodo di soluzione)
NCOLOR_IN I Numero obiettivo di colori per l'ordinamento multicolore (Predefinito: 10)
(Valido solo quando il numero di thread OpenMP è pari o superiore a 2)
RECYCLEPRE I Numero di volte in cui vengono riutilizzate le informazioni di configurazione del precondizionatore (Predefinito: 3)
(Valido solo nell'analisi non lineare)
(3ª riga) RESID, SIGMA_DIAG, OMEGA
Variabile Tipo Descrizione
RESID R Errore di troncamento (Predefinito: 1.0e-8)
SIGMA_DIAG R Fattore applicato agli elementi diagonali durante il calcolo della matrice di precondizionamento (predefinito: 1.0)
(Se con il precondizionamento ILU si verifica una divisione per zero o una divergenza, un valore maggiore di 1.0 può consentire di risolvere il problema)
(Valido solo per il precondizionamento ILU e per lo scaling diagonale. Il precondizionamento SSOR utilizza OMEGA.)
OMEGA R Parametro di rilassamento del precondizionamento SSOR (predefinito: 1.0)
(Il valore 1.0 coincide con il precondizionamento SSOR convenzionale)
(L’intervallo valido è maggiore di 0 e minore di 2. I valori fuori intervallo e quelli la cui distanza da 0 o 2 è inferiore all’epsilon macchina vengono considerati pari a 1.0.)

Quando PRECOND=5 (opzionale)

Se per PRECOND viene specificato un valore che non sia né 5 né 22, la 4ª riga viene ignorata.

(4ª riga) ML_CoarseSolver, ML_Smoother, ML_MGCycle, ML_MaxLevels, ML_CoarseningScheme, ML_NumSweep
Variabile Tipo Descrizione
ML_CoarseSolver I Solver su griglia grossolana per ML (1: usa lo smoother, 2: KLU (metodo diretto seriale), 3: MUMPS (metodo diretto parallelo)) (Predefinito: 1)
(Raccomandato: 3 o 2 per problemi difficili, 1 per problemi ordinari)
ML_Smoother I Smoother ML (1: Chebyshev, 2: SymBlockGaussSeidel, 3: Jacobi) (Predefinito: 1)
(Raccomandato: 1)
ML_MGCycle I Ciclo multigrid ML (1: ciclo V, 2: ciclo W, 3: ciclo Full-V) (Predefinito: 1)
(Raccomandato: 2 per problemi difficili, 1 per problemi ordinari)
ML_MaxLevels I Numero massimo di livelli ML (Predefinito: 10)
(Per problemi particolarmente difficili, usare un solver diretto sulla griglia grossolana e 2 livelli (o 3 se la memoria non è sufficiente); per problemi ordinari è raccomandato 10)
ML_CoarseningScheme I Schema di coarsening ML (1: UncoupledMIS, 2: METIS, 4: Zoltan, 5: DD) (Predefinito: 1)
(Raccomandato: 1 o 5)
ML_NumSweep I Numero di sweep dello smoother ML (grado del polinomio per Chebyshev) (Predefinito: 2)
(Raccomandato: 2 per Chebyshev, 1 per SymBlockGaussSeidel)

Quando PRECOND=22 (opzionale)

Se per PRECOND viene specificato un valore diverso da 22, la 5ª riga viene ignorata. La 4ª e la 5ª riga possono essere omesse per intero; è inoltre possibile omettere gli elementi finali di entrambe le righe. Per ogni elemento specificato come 0 viene utilizzato il valore predefinito.

Gli elementi da 1 a 7 della 4ª riga sono disposti nello stesso ordine della riga delle opzioni per PRECOND=5 (ML), quindi la riga delle opzioni ML può essere riutilizzata senza modifiche. Gli elementi da 8 a 10 sono specifici di SA-AMG.

(4ª riga) SA_CoarseSolver, SA_Smoother, SA_MGCycle, SA_MaxLevels, (non utilizzato), SA_ChebyDegree, SA_CoarseSize, SA_MaxAggSize, SA_GalerkinLowMem, (non utilizzato)
Variabile Tipo Descrizione
SA_CoarseSolver I Solver sulla griglia grossolana (0: automatico, 1: usa lo smoother, 2: metodo diretto per matrici dense, 3: MUMPS (metodo diretto parallelo)) (Predefinito: 0)
(In modalità automatica, nelle build con MUMPS abilitato viene utilizzato MUMPS; altrimenti viene utilizzato il metodo diretto per matrici dense)
SA_Smoother I Smoother (0 o 1: Chebyshev) (Predefinito: 0)
(È supportato solo Chebyshev. Se viene specificato un altro valore, viene emesso un avviso e viene utilizzato Chebyshev)
SA_MGCycle I Ciclo multigrid (0: predefinito (ciclo W), 1: ciclo V, 2: ciclo W) (Predefinito: 0)
(Il ciclo Full-V non è supportato)
SA_MaxLevels I Numero massimo di livelli (Predefinito: 20)
(non utilizzato) I Posizione corrispondente allo schema di coarsening ML. Poiché SA-AMG usa sempre un'aggregazione disaccoppiata, un valore diverso da 0 genera un avviso e viene ignorato
SA_ChebyDegree I Grado del polinomio dello smoother Chebyshev (Predefinito: 2)
SA_CoarseSize I Dimensione di soglia della griglia grossolana (Predefinito: 50000 quando MUMPS viene utilizzato come solver sulla griglia grossolana; altrimenti 100)
SA_MaxAggSize I Dimensione massima dell'aggregato (Predefinito: 96)
SA_GalerkinLowMem I Metodo di calcolo della matrice della griglia grossolana (0: normale (priorità alla velocità), valore positivo: risparmio di memoria) (Predefinito: 0)
(Specificare un valore positivo se la memoria è insufficiente durante la configurazione)
(non utilizzato) I Riservato per estensioni future

La 5ª riga è specifica di SA-AMG e non viene letta da ML.

(5ª riga) SA_Theta, SA_ChebyAlpha, SA_Safety, SA_TaperK, SA_AggOrder, SA_MinAggSize, SA_Verify, SA_DumpVTK
Variabile Tipo Descrizione
SA_Theta R Soglia per determinare le connessioni forti (Predefinito: 0.0)
(Con 0.0, la struttura non nulla della matrice viene utilizzata direttamente come grafo)
SA_ChebyAlpha R Rapporto che determina il limite inferiore dell'intervallo di autovalori considerato dallo smoother Chebyshev (Predefinito: 20.0)
SA_Safety R Fattore di sicurezza applicato all'autovalore massimo stimato (Predefinito: 1.1)
SA_TaperK R Coefficiente K di attenuazione del coarsening (Predefinito: 100)
(Dal livello 2 in poi, il coarsening viene reso più graduale in modo che rimangano almeno circa K aggregati. Un valore negativo disabilita l'attenuazione)
SA_AggOrder R Ordine di attraversamento dell'aggregazione (0: predefinito (ordine BFS), 1: ordine BFS, 2: ordine hash dei numeri dei nodi (sperimentale), 3: ordine crescente del grado (sperimentale), 4: ordine decrescente del grado (sperimentale), valore negativo: ordine per numero di nodo) (Predefinito: 0)
SA_MinAggSize R Dimensione minima dell'aggregato (Predefinito: 3)
SA_Verify R Se eseguire un'autoverifica durante la configurazione (0: no, valore positivo: sì) (Predefinito: 0) (principalmente per il debug)
SA_DumpVTK R Se emettere l'aggregazione del livello più alto in formato VTK (0: nessun output, valore positivo: output) (Predefinito: 0) (principalmente per il debug)

Esempi

Usare CG con precondizionamento SSOR e impostare il numero massimo di iterazioni a 10000 e l'errore di troncamento a 1.0e-8

!SOLVER, METHOD=CG, PRECOND=1, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.0, 0.0

Usare GMRES con precondizionamento SSOR e impostare la dimensione del sottospazio di Krylov a 40 e il numero obiettivo di colori per l'ordinamento multicolore a 100

!SOLVER, METHOD=GMRES, PRECOND=1, ITERLOG=YES, TIMELOG=YES
  10000, 1, 40, 100
  1.0e-8, 1.0, 0.0

Usare CG con precondizionamento ILU(0) e impostare a 1.1 il fattore di scala applicato agli elementi diagonali durante il calcolo della matrice di precondizionamento

!SOLVER, METHOD=CG, PRECOND=10, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.1, 0.0

Usare AMG mediante ML come precondizionatore per CG

!SOLVER, METHOD=CG, PRECOND=5, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.0, 0.0

Usare AMG mediante ML come precondizionatore per CG e MUMPS come solver sulla griglia grossolana (per problemi difficili)

!SOLVER, METHOD=CG, PRECOND=5, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.0, 0.0
  3

Usare AMG mediante ML come precondizionatore per CG e il ciclo W come ciclo multigrid (per problemi difficili)

!SOLVER, METHOD=CG, PRECOND=5, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.0, 0.0
  1, 1, 2

Usare AMG mediante ML come precondizionatore per CG, MUMPS come solver sulla griglia grossolana e impostare il numero massimo di livelli a 2 (per problemi molto difficili)

!SOLVER, METHOD=CG, PRECOND=5, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.0, 0.0
  3, 1, 1, 2

Usare il SA-AMG integrato in HEC-MW come precondizionatore per CG

!SOLVER, METHOD=CG, PRECOND=22, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.0, 0.0

Usare SA-AMG come precondizionatore per CG e MUMPS come solver sulla griglia grossolana

!SOLVER, METHOD=CG, PRECOND=22, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.0, 0.0
  3

Per l'analisi di contatto con attrito, usare BiCGSTAB con precondizionamento SA-AMG ed emettere la gerarchia del precondizionatore AMG

!SOLVER, METHOD=BiCGSTAB, PRECOND=22, ITERLOG=YES, TIMELOG=YES, LOGLEVEL=1
  10000, 1
  1.0e-8, 1.0, 0.0