Wolfram Language

Équations aux dérivées partielles

Calculez les sensibilités d'équations aux dérivées partielles sur les régions

Calculez la dépendance paramétrique de l'équation d'onde , .

Spécifiez l'équation d'onde .

In[1]:=
Click for copyable input
eqn = D[u[t, x, y], t, t] == c^2 Laplacian[u[t, x, y], {x, y}];

Spécifiez la condition initiale .

In[2]:=
Click for copyable input
ics = {u[0, x, y] == Exp[-((a x)^2 + (b x)^2)], Derivative[1, 0, 0][u][0, x, y] == 0};

Spécifiez une condition aux limites de Dirichlet fixe.

In[3]:=
Click for copyable input
bcs = DirichletCondition[u[t, x, y] == 0, True];

Configurez la fonction paramétrique.

In[4]:=
Click for copyable input
pfun = ParametricNDSolveValue[{eqn, ics, bcs}, u, {t, 0, 5}, {x, y} \[Element] Disk[], {a, b, c}];

Trouvez les sensibilités ,, et pour les paramètres , , et .

In[5]:=
Click for copyable input
ifda = D[pfun[a, 1, 1], a] /. {a -> 1}; ifda = D[pfun[1, b, 1], b] /. {b -> 1}; ifdc = D[pfun[1, 1, c], c] /. {c -> 1};

Visualisez les bandes de sensibilité correspondantes en traçant la fonction paramétrique de , , et de à et en superposant la solution avec de la sensibilité.

In[6]:=
Click for copyable input
Plot3D[Evaluate[(pfun[a, b, c][\[Tau], x, y] + .5 {0, 1, -1} D[pfun[a, b, c][\[Tau], x, y], a]) /. {a -> 1, b -> 1, c -> 1, \[Tau] -> 3}], {x, y} \[Element] Disk[], PlotRange -> All, Boxed -> False, Axes -> False, Mesh -> 5, PlotStyle -> {Automatic, Opacity[0.3], Opacity[0.3]}]
Out[6]=

Exemples connexes

de en es ja ko pt-br ru zh