PDE numerica
Ciao a tutti. Sto provando a risolvere il seguente sistema di equazioni differenziali alle derivate parziali (PDE)
Indico con
$x$, $y$ e $t$ le variabili indipendenti (le prime spaziali, la terza temporale)
$u$ e $v$ gli spostamenti lungo $x$ e $y$
$T$ la temperatura
$k_i (i=1,2,...,8)$ coefficienti reali positivi.
\[\left\{ \begin{array}{l}
\frac{{{\partial ^2}u}}{{\partial {t^2}}} = {k_1}\left( {\frac{{{\partial ^2}u}}{{\partial {x^2}}} + \frac{{{\partial ^2}v}}{{\partial x\partial y}}} \right) + {k_2}\left( {\frac{{{\partial ^2}u}}{{\partial {x^2}}} + \frac{{{\partial ^2}u}}{{\partial {y^2}}}} \right) - {k_3}\frac{{\partial T}}{{\partial x}}\\
\\
\frac{{{\partial ^2}v}}{{\partial {t^2}}} = {k_1}\left( {\frac{{{\partial ^2}v}}{{\partial {y^2}}} + \frac{{{\partial ^2}u}}{{\partial x\partial y}}} \right) + {k_2}\left( {\frac{{{\partial ^2}v}}{{\partial {x^2}}} + \frac{{{\partial ^2}v}}{{\partial {y^2}}}} \right) - {k_3}\frac{{\partial T}}{{\partial y}}\\
\\
\frac{{\partial T}}{{\partial t}} = {k_4}\left( {\frac{{{\partial ^2}T}}{{\partial {x^2}}} + \frac{{{\partial ^2}T}}{{\partial {y^2}}}} \right) - {k_5}\left( {\frac{{{\partial ^2}u}}{{\partial x\partial t}} + \frac{{{\partial ^2}v}}{{\partial y\partial t}}} \right)
\end{array} \right.\]
Il dominio del problema è un rettangolo (con lati paralleli agli assi x e y)
Condizioni iniziali
\[\left\{ \begin{array}{l}
u(0) = v(0) = 0\\
\dot u(0) = \dot v(0) = 0\\
T(0) = 300
\end{array} \right.\]
Condizioni al contorno
- lato destro ($f(y,t)$ è assegnata)
\[\left\{ \begin{array}{l}
u = f(y,t)\\
v = 0\\
\frac{{\partial T}}{{\partial x}} = 0
\end{array} \right.\]
- lato sinistro
\[\left\{ \begin{array}{l}
u = - f(y,t)\\
v = 0\\
\frac{{\partial T}}{{\partial x}} = 0
\end{array} \right.\]
- lato superiore e inferiore
\[\left\{ \begin{array}{l}
{k_6}\frac{{\partial v}}{{\partial x}} + {k_7}\frac{{\partial v}}{{\partial y}} - {k_8}T = 1\\
\frac{{\partial u}}{{\partial y}} + \frac{{\partial v}}{{\partial x}} = 0\\
\frac{{\partial T}}{{\partial y}} = 0
\end{array} \right.\]
-----------------------------------------------------------------------------------
Credo sia praticamente impossibile trovare una soluzione analitica, perciò sto provando l'approccio numerico con PDE toolbox di Matlab e sto riscontrando non poche difficoltà.
Per chi di voi ha già qualche esperienza con la PDE toolbox, è possibile usarla per risolvere il mio problema? Esistono programmi più efficaci?
Indico con
$x$, $y$ e $t$ le variabili indipendenti (le prime spaziali, la terza temporale)
$u$ e $v$ gli spostamenti lungo $x$ e $y$
$T$ la temperatura
$k_i (i=1,2,...,8)$ coefficienti reali positivi.
\[\left\{ \begin{array}{l}
\frac{{{\partial ^2}u}}{{\partial {t^2}}} = {k_1}\left( {\frac{{{\partial ^2}u}}{{\partial {x^2}}} + \frac{{{\partial ^2}v}}{{\partial x\partial y}}} \right) + {k_2}\left( {\frac{{{\partial ^2}u}}{{\partial {x^2}}} + \frac{{{\partial ^2}u}}{{\partial {y^2}}}} \right) - {k_3}\frac{{\partial T}}{{\partial x}}\\
\\
\frac{{{\partial ^2}v}}{{\partial {t^2}}} = {k_1}\left( {\frac{{{\partial ^2}v}}{{\partial {y^2}}} + \frac{{{\partial ^2}u}}{{\partial x\partial y}}} \right) + {k_2}\left( {\frac{{{\partial ^2}v}}{{\partial {x^2}}} + \frac{{{\partial ^2}v}}{{\partial {y^2}}}} \right) - {k_3}\frac{{\partial T}}{{\partial y}}\\
\\
\frac{{\partial T}}{{\partial t}} = {k_4}\left( {\frac{{{\partial ^2}T}}{{\partial {x^2}}} + \frac{{{\partial ^2}T}}{{\partial {y^2}}}} \right) - {k_5}\left( {\frac{{{\partial ^2}u}}{{\partial x\partial t}} + \frac{{{\partial ^2}v}}{{\partial y\partial t}}} \right)
\end{array} \right.\]
Il dominio del problema è un rettangolo (con lati paralleli agli assi x e y)
Condizioni iniziali
\[\left\{ \begin{array}{l}
u(0) = v(0) = 0\\
\dot u(0) = \dot v(0) = 0\\
T(0) = 300
\end{array} \right.\]
Condizioni al contorno
- lato destro ($f(y,t)$ è assegnata)
\[\left\{ \begin{array}{l}
u = f(y,t)\\
v = 0\\
\frac{{\partial T}}{{\partial x}} = 0
\end{array} \right.\]
- lato sinistro
\[\left\{ \begin{array}{l}
u = - f(y,t)\\
v = 0\\
\frac{{\partial T}}{{\partial x}} = 0
\end{array} \right.\]
- lato superiore e inferiore
\[\left\{ \begin{array}{l}
{k_6}\frac{{\partial v}}{{\partial x}} + {k_7}\frac{{\partial v}}{{\partial y}} - {k_8}T = 1\\
\frac{{\partial u}}{{\partial y}} + \frac{{\partial v}}{{\partial x}} = 0\\
\frac{{\partial T}}{{\partial y}} = 0
\end{array} \right.\]
-----------------------------------------------------------------------------------
Credo sia praticamente impossibile trovare una soluzione analitica, perciò sto provando l'approccio numerico con PDE toolbox di Matlab e sto riscontrando non poche difficoltà.
Per chi di voi ha già qualche esperienza con la PDE toolbox, è possibile usarla per risolvere il mio problema? Esistono programmi più efficaci?
Risposte
Non mi sembra che sia possibile in matlab affrontare sistemi con derivate prime e seconde rispetto al tempo simultaneamente presenti. Nemmeno derivate miste "spaziotemporali", quindi mi sono ricondotto alle tipologie ammesse da matlab introducendo due nuove variabili. Definisco il seguente vettore di variabili (Matlab lo chiama u)
\[\left( \begin{array}{l}
{u_1}\\
{u_2}\\
{u_3}\\
{u_4}\\
{u_5}
\end{array} \right) \buildrel \Delta \over = \left( \begin{array}{l}
u\\
v\\
T\\
\frac{{\partial u}}{{\partial t}}\\
\frac{{\partial v}}{{\partial t}}
\end{array} \right)\]
in questo modo il sistema diventa (basta sostituire):
\[\left\{ \begin{array}{l}
\frac{{\partial {u_1}}}{{\partial t}} = {u_4}\\
\\
\frac{{\partial {u_2}}}{{\partial t}} = {u_5}\\
\\
\frac{{\partial {u_3}}}{{\partial t}} = {k_4}\left( {\frac{{{\partial ^2}{u_3}}}{{\partial {x^2}}} + \frac{{{\partial ^2}{u_3}}}{{\partial {y^2}}}} \right) - {k_5}\left( {\frac{{\partial {u_4}}}{{\partial x}} + \frac{{\partial {u_5}}}{{\partial y}}} \right)\\
\\
\frac{{\partial {u_4}}}{{\partial t}} = \left( {{k_1} + {k_2}} \right)\frac{{{\partial ^2}{u_1}}}{{\partial {x^2}}} + {k_1}\frac{{{\partial ^2}{u_2}}}{{\partial x\partial y}}{u_2} + {k_2}\frac{{{\partial ^2}{u_1}}}{{\partial {y^2}}} - {k_3}\frac{{\partial {u_3}}}{{\partial x}}\\
\\
\frac{{\partial {u_5}}}{{\partial t}} = \left( {{k_1} + {k_2}} \right)\frac{{{\partial ^2}{u_2}}}{{\partial {y^2}}} + {k_1}\frac{{{\partial ^2}{u_1}}}{{\partial x\partial y}} + {k_2}\frac{{{\partial ^2}{u_2}}}{{\partial {x^2}}} - {k_3}\frac{{\partial {u_3}}}{{\partial y}}
\end{array} \right.\]
le condizioni iniziali:
\[\left( \begin{array}{l}
{u_1}(0)\\
{u_2}(0)\\
{u_3}(0)\\
{u_4}(0)\\
{u_5}(0)
\end{array} \right) \buildrel \Delta \over = \left( \begin{array}{l}
0\\
0\\
300\\
0\\
0
\end{array} \right)\]
\[\left( \begin{array}{l}
{u_1}\\
{u_2}\\
{u_3}\\
{u_4}\\
{u_5}
\end{array} \right) \buildrel \Delta \over = \left( \begin{array}{l}
u\\
v\\
T\\
\frac{{\partial u}}{{\partial t}}\\
\frac{{\partial v}}{{\partial t}}
\end{array} \right)\]
in questo modo il sistema diventa (basta sostituire):
\[\left\{ \begin{array}{l}
\frac{{\partial {u_1}}}{{\partial t}} = {u_4}\\
\\
\frac{{\partial {u_2}}}{{\partial t}} = {u_5}\\
\\
\frac{{\partial {u_3}}}{{\partial t}} = {k_4}\left( {\frac{{{\partial ^2}{u_3}}}{{\partial {x^2}}} + \frac{{{\partial ^2}{u_3}}}{{\partial {y^2}}}} \right) - {k_5}\left( {\frac{{\partial {u_4}}}{{\partial x}} + \frac{{\partial {u_5}}}{{\partial y}}} \right)\\
\\
\frac{{\partial {u_4}}}{{\partial t}} = \left( {{k_1} + {k_2}} \right)\frac{{{\partial ^2}{u_1}}}{{\partial {x^2}}} + {k_1}\frac{{{\partial ^2}{u_2}}}{{\partial x\partial y}}{u_2} + {k_2}\frac{{{\partial ^2}{u_1}}}{{\partial {y^2}}} - {k_3}\frac{{\partial {u_3}}}{{\partial x}}\\
\\
\frac{{\partial {u_5}}}{{\partial t}} = \left( {{k_1} + {k_2}} \right)\frac{{{\partial ^2}{u_2}}}{{\partial {y^2}}} + {k_1}\frac{{{\partial ^2}{u_1}}}{{\partial x\partial y}} + {k_2}\frac{{{\partial ^2}{u_2}}}{{\partial {x^2}}} - {k_3}\frac{{\partial {u_3}}}{{\partial y}}
\end{array} \right.\]
le condizioni iniziali:
\[\left( \begin{array}{l}
{u_1}(0)\\
{u_2}(0)\\
{u_3}(0)\\
{u_4}(0)\\
{u_5}(0)
\end{array} \right) \buildrel \Delta \over = \left( \begin{array}{l}
0\\
0\\
300\\
0\\
0
\end{array} \right)\]