Solutore di equazioni differenziali parziali
• numol(x_endpts, xpts, t_endpts, tpts, num_pde, num_pae, pde_func, pinit, bc_func)
Restituisce una matrice [xpts x tpts] contenente le soluzioni alle equazioni PDE (Partial Differential Equation) unidimensionali in pde_func. Ogni colonna rappresenta una soluzione nello spazio monodimensionale per un unico momento di soluzione. Per un sistema di equazioni, la soluzione per ciascuna funzione viene accodata orizzontalmente in modo che la matrice abbia sempre xpts righe e tpts * (num_pde + num_pae) colonne. La soluzione viene trovata utilizzando il metodo numerico delle linee.
Argomenti
• x_endpts, t_endpts sono vettori colonna di due elementi che specificano i punti finali reali delle regioni di integrazione.
• xpts, tpts indicano il numero intero di punti nelle regioni di integrazione in corrispondenza dei quali approssimare la soluzione.
• num_pde, num_pae indicano rispettivamente il numero intero di equazioni differenziali parziali e di equazioni algebriche parziali. num_pde deve essere almeno uguale a 1, mentre num_pae può essere uguale o maggiore di 0.
• pde_func è una funzione vettore di x, t, u, ux e uxx di lunghezza (num_pde + num_pae). Contiene i lati destri delle equazioni PDE/PAE e presuppone che i lati sinistri siano tutti ut. Si presuppone inoltre che la soluzione u sia un vettore di funzioni.
Se si utilizza un sistema di equazioni PDE, ogni valore di u in ogni riga di pde_func è definito da un indice tramite l'operatore di indicizzazione, nonché tramite l'operatore di indice letterale. Ad esempio, u[0 si riferisce alla prima funzione del sistema e ux[1 si riferisce alla derivata prima della seconda funzione del sistema.
• pinit è una funzione vettore di x di lunghezza (num_pde + num_pae) contenente le condizioni iniziali per ogni funzione del sistema.
• bc_func è una matrice di num_pde * 3 contenente righe del tipo seguente.
Per le condizioni limite di Dirichlet
|
[bc_left(t)
|
bc_right(t)
|
"D"]
|
o
Per le condizioni limite di Neumann
|
[bc_left(t)
|
bc_right(t)
|
"N"]
|
◦ Qualora l'equazione PDE per la riga corrispondente contenga derivate seconde parziali, sono obbligatorie le condizioni sia di sinistra che di destra.
◦ Se in una particolare equazione PDE sono presenti solo derivate prime parziali, una o l'altra funzione della condizione limite dovrà essere sostituita con "NA" e l'ultimo elemento della riga dovrà essere sempre "D.".
◦ Se in una particolare equazione di un sistema non sono presenti derivate parziali, la riga nella matrice verrà ignorata e potrà essere compilata inserendo ("NA" "NA" "D").
Per ulteriori informazioni sulla risoluzione di equazioni differenziali parziali con numol, guardare il video seguente:
Ulteriori informazioni
• I vincoli algebrici sono consentiti, ad esempio 0 = u2(x) + v2(x) − w(x) per tutte le x.
• Il numero di funzioni limite richieste corrisponde all'ordine della derivata spaziale di ciascuna equazione PDE, in modo da garantire soluzioni univoche.
• Utilizzando
numol è possibile risolvere esclusivamente equazioni PDE iperboliche e paraboliche. Per un'equazione ellittica, ad esempio un'equazione di Poisson, utilizzare
relax o
multigrid.