diff --git a/Docs/formules_lambda.pdf b/Docs/formules_lambda.pdf index 001f4b9f68e6b31391d036c0a24c8c581df7e9c2..e9fee87582263d6497ac921a26922a0750390747 100644 Binary files a/Docs/formules_lambda.pdf and b/Docs/formules_lambda.pdf differ diff --git a/Docs/formules_lambda.tex b/Docs/formules_lambda.tex index 42848d1037edc205afe70cca87088be51a903be7..253bf197a56d0d9a844f94997043d207075bfaa5 100644 --- a/Docs/formules_lambda.tex +++ b/Docs/formules_lambda.tex @@ -10,7 +10,7 @@ \mathtoolsset{mathic} \usepackage{booktabs} \usepackage{hyperref} -\usepackage[left=1cm,right=1cm,top=2cm,bottom=2cm]{geometry} +\usepackage[left=1cm,right=1cm]{geometry} \title{Calcul des formules $\Lambda^*_{n,k}$} @@ -22,30 +22,30 @@ \label{sec:gener-des-form} -Les formules de remaillage de la forme $\Lambda^*_{n,k}$ sont des fonctions polynomiales par morceaux, symétriques, de support $]{ -n+1, n-1 }[$, de régularité $C^k$ qui conservent les $n$ premiers moments. La formule est donnée par $n-1$ polynômes de degré $2k+1$. Les différentes formules générées sont résumées dans le tableau suivant: +Les formules de remaillage de la forme $\Lambda^*_{n,k}$ sont des fonctions polynomiales par morceaux, symétriques, de support $]{ -n/2-1, n/2-1 }[$, de régularité $C^k$ qui conservent les $n$ premiers moments. La formule est donnée par morceaux sur les intervalles entiers par un polynôme $p_i$ de degré $2k+1$, soit $n+2$ polynômes. Les différentes formules générées sont résumées dans le tableau~\ref{tab:formulesRemaillage}. -\begin{table}[h]\centering -\begin{tabular}{@{}lcccccc@{}} \toprule - & & Moments & Régularité & Nb points & Degré & Support\\ \midrule -$\Lambda^*_{2,1}$ &\eqref{eq:lambda21} & 2 & $C^1$ & 4 & 3 & $[-2;2]$ \\ -$\Lambda^*_{2,2}$ &\eqref{eq:lambda22} & 2 & $C^2$ & 4 & 5 & $[-2;2]$ \\\midrule -$\Lambda^*_{4,2}$ &\eqref{eq:lambda42} & 4 & $C^2$ & 6 & 5 & $[-3;3]$ \\ -$\Lambda^*_{4,3}$ &\eqref{eq:lambda43} & 4 & $C^3$ & 6 & 7 & $[-3;3]$ \\ -$\Lambda^*_{4,4}$ &\eqref{eq:lambda44} & 4 & $C^4$ & 6 & 9 & $[-3;3]$ \\\midrule -$\Lambda^*_{6,3}$ &\eqref{eq:lambda63} & 6 & $C^3$ & 8 & 7 & $[-4;4]$ \\ -$\Lambda^*_{6,4}$ &\eqref{eq:lambda64} & 6 & $C^4$ & 8 & 9 & $[-4;4]$ \\ -$\Lambda^*_{6,5}$ &\eqref{eq:lambda65} & 6 & $C^5$ & 8 & 11 & $[-4;4]$ \\ -$\Lambda^*_{6,6}$ &\eqref{eq:lambda66} & 6 & $C^6$ & 8 & 13 & $[-4;4]$ \\\midrule -$\Lambda^*_{8,4}$ &\eqref{eq:lambda84} & 8 & $C^4$ & 10 & 9 & $[-5;5]$ \\ \bottomrule - \end{tabular} - \caption{Caractéristiques des formules de remaillage} -\label{tab:formulesRemaillage} -\end{table} -Les contraintes utilisées sont les suivantes: + +Les contraintes sont les suivantes: \begin{itemize} -\item Exactitude aux points de coordonnées entières +\item Symétrie (seulement $n/2 + 1$ polynômes à chercher) + \begin{equation} + \label{eq:4} + \Lambda_{n,k} (x) = \Lambda_{n,k} (-x) + \end{equation} + \begin{equation} + \label{eq:7} + \Lambda^*_{n,k} = + \begin{cases} + p_i(x) & \text{ si } |x| \in [n/2-i ; n/2+1-i [\\ + 0 & \text{ sinon} + \end{cases} +\end{equation} + \begin{equation} + \label{eq:6} + p_i(x) = \sum_{j=0}^{2k+1}c_{i,j}x^j,\quad i=0,\dots , n/2 + 1 + \end{equation} \item Raccords $C^k$ entre les polynômes \item Conservation des moments discrets: \begin{equation} @@ -53,17 +53,52 @@ Les contraintes utilisées sont les suivantes: \sum_{l=-N}^N l^q\Lambda^*_{n,k}(s-l) = s^q,\quad 0<s<1, q=0\dots n \end{equation} \end{itemize} -Remarque: pour chaque formule les moments continus sont conservés: +Ainsi, par ces contraintes, on obtient un système d'équations dont les inconnues sont les coefficients $c_{i,k}$. Le nombre d'équation est bien supérieur au nombre d'inconnues. + + +Remarque 1: pour chaque formule obtenue, les moments continus sont conservés: \begin{equation} \label{eq:3} - \int_{-\infty}^\infty x^q\Lambda^*_{n,k}(x) \mathdd{dx} = + \int_{-\infty}^\infty x^q\Lambda^*_{n,k}(x) \mathrm{d}x = \begin{cases} 1 & \text{si } q = 0\\ 0 & \text{sinon } \end{cases} - \end{equation} +Remarque 2: on obtient une formule exacte aux points de coordonnées entières: + \begin{equation} + \label{eq:5} + \Lambda_{n,k} (i) = \begin{cases} + 1 & \text{ si } i=0\\ + 0 & \text{sinon} + \end{cases},\quad i \in \lbrace -n/2+1,\dots, n/2-1 \rbrace + \end{equation} + +\begin{table}[h]\centering +\begin{tabular}{@{}lccccccccc@{}} \toprule + & & Moments & Régularité & Nb points & Degré & Support & \multicolumn{2}{c}{Temps de calcul} \\ + & & & & & & & Python\footnotemark[1] & OpenCL\footnotemark[2]\\ \midrule +$\Lambda^*_{2,1}=M'_4$ &\eqref{eq:lambda21} & 2 & $C^1$ & 4 & 3 & $[-2;2]$ & 2.336 & 0.03855 \\ +$\Lambda^*_{2,2}$ &\eqref{eq:lambda22} & 2 & $C^2$ & 4 & 5 & $[-2;2]$ & & 0.03869 \\ +$\Lambda^*_{2,3}$ &\eqref{eq:lambda23} & 2 & $C^3$ & 4 & 7 & $[-2;2]$ & & 0.03857 \\ +$\Lambda^*_{2,4}$ &\eqref{eq:lambda24} & 2 & $C^4$ & 4 & 9 & $[-2;2]$ & & 0.03853\\\midrule +$\Lambda^*_{4,2} = M'_6$ &\eqref{eq:lambda42} & 4 & $C^2$ & 6 & 5 & $[-3;3]$& 5.0568 & 0.04336 \\ +$\Lambda^*_{4,3}$ &\eqref{eq:lambda43} & 4 & $C^3$ & 6 & 7 & $[-3;3]$ & 6.3405 & 0.04327 \\ +$\Lambda^*_{4,4}$ &\eqref{eq:lambda44} & 4 & $C^4$ & 6 & 9 & $[-3;3]$ & 7.9679 & 0.04348 \\\midrule +$M'_8 $ &\eqref{eq:m8prime} & 5 & $C^4$ & 8 & 7 & $[-4;4]$ & 10.3966 & 0.04801 \\ +$\Lambda^*_{6,3}$ &\eqref{eq:lambda63} & 6 & $C^3$ & 8 & 7 & $[-4;4]$ & 9.2680 & 0.04795 \\ +$\Lambda^*_{6,4}$ &\eqref{eq:lambda64} & 6 & $C^4$ & 8 & 9 & $[-4;4]$ & 10.6613 & 0.04841 \\ +$\Lambda^*_{6,5}$ &\eqref{eq:lambda65} & 6 & $C^5$ & 8 & 11 & $[-4;4]$ & 12.3911 & 0.04853 \\ +$\Lambda^*_{6,6}$ &\eqref{eq:lambda66} & 6 & $C^6$ & 8 & 13 & $[-4;4]$ & 14.1645 & 0.06570 \\\midrule +$\Lambda^*_{8,4}$ &\eqref{eq:lambda84} & 8 & $C^4$ & 10 & 9 & $[-5;5]$ & & 0.07060 \\ \bottomrule + \end{tabular} + \caption{Caractéristiques des formules de remaillage. Le temps de calcul qualitatif est donné par itérations pour un problème 2D.} +\label{tab:formulesRemaillage} +\end{table} +\footnotetext[1]{$256^2$ particules, RK2.} +\footnotetext[2]{$2048^2$ particules, RK2.} + \section{Formules} \label{sec:formules} @@ -71,7 +106,7 @@ Remarque: pour chaque formule les moments continus sont conservés: \begin{equation} \label{eq:lambda21} - \Lambda^*_{2,1}(x) = + M'_4 = \Lambda^*_{2,1}(x) = \begin{cases} 1-{5 \over 2}|x|^2+{3 \over 2}|x|^3 & 0\leqslant |x|<1\\ 2-4|x|+{5 \over 2}|x|^2-{1 \over 2}|x|^3 & 1\leqslant |x|<2\\ @@ -88,10 +123,28 @@ Remarque: pour chaque formule les moments continus sont conservés: 0 & |x| \geqslant 2 \end{cases} \end{equation} +\begin{equation} + \label{eq:lambda23} + \Lambda^*_{2,3}(x) = + \begin{cases} + 1-x^2-15x^4+({75 \over 2})x^5-({63 \over 2})x^6+9x^7 & 0\leqslant |x|<1\\ + 32-168x+376x^2-460x^3+330x^4-({277 \over 2})x^5+({63 \over 2})x^6-3x^7 & 1\leqslant |x|<2\\ + 0 & |x| \geqslant 2 + \end{cases} +\end{equation} +\begin{equation} + \label{eq:lambda24} + \Lambda^*_{2,4}(x) = + \begin{cases} + 1-x^2-({105 \over 2})x^5+({357 \over 2})x^6-231x^7+135x^8-30x^9& 0\leqslant |x|<1\\ + -208+1432x-4304x^2+7420x^3-8085x^4+({11543 \over 2})x^5-({5397 \over 2})x^6+797x^7-135x^8+10x^9& 1\leqslant |x|<2\\ + 0 & |x| \geqslant 2 + \end{cases} +\end{equation} \begin{equation} \label{eq:lambda42} - \Lambda^*_{4,2}(x) = + M'_6 = \Lambda^*_{4,2}(x) = \begin{cases} 1-{5 \over 4}|x|^2-{35 \over 12}|x|^3+{21 \over 4}|x|^4-{25 \over 12}|x|^5 & 0\leqslant |x|<1\\ -4+{75 \over 4}|x|-{245 \over 8}|x|^2+{545 \over 24}|x|^3-{63 \over 8}|x|^4+{25 \over 24}|x|^5 & 1\leqslant |x|<2\\ @@ -183,6 +236,19 @@ Remarque: pour chaque formule les moments continus sont conservés: \end{cases} \end{equation} +\begin{equation} + \label{eq:m8prime} + M'_8(x) = + \begin{cases} +{5 \over 48}x^7-{11 \over 32}x^6+{7 \over 8}x^4-{35 \over 24}x^2+{151 \over 168} & 0\leqslant |x|<1\\ +{103 \over 112}-{7 \over 30}x-{7 \over 16}x^2-{7 \over 3}x^3+{63 \over 16}x^4-{7 \over 3}x^5+{99 \over 160}x^6-{1 \over 16}x^7 & 1\leqslant |x|<2\\ +-{139 \over 336}+{217 \over 30}x-{805 \over 48}x^2+{49 \over 3}x^3-{133 \over 16}x^4+{7 \over 3}x^5-{11 \over 32}x^6+{1 \over 48}x^7 & 2\leqslant |x|<3\\ +{128 \over 21}-{256 \over 15}x+{56 \over 3}x^2-{32 \over 3}x^3+{7 \over 2}x^4-{2 \over 3}x^5+{11 \over 160}x^6-{1 \over 336}x^7& 3\leqslant |x|<4\\ + 0 & |x| \geqslant 4 + \end{cases} +\end{equation} + + \begin{figure}[htbp] \centering @@ -206,162 +272,342 @@ Remarque: pour chaque formule les moments continus sont conservés: \verb|y| est la distance entre la particule et son plus proche point de grille, de coordonnée inférieure à la position de la particule. Les poids sont données dans l'ordre croissant des point de grille du support. \paragraph{$\Lambda^*_{2,1}$} +{\footnotesize \begin{verbatim} -w[0] = (-1 + (2 - y) * y) * y / 2; -w[1] = 1 + (-5 + 3 * y) * y * y / 2; -w[2] = (1 + (4 - 3 * y) * y) * y / 2; -w[3] = (y - 1) * y * y / 2; -\end{verbatim} +w[0] = (y * (y * (-y + 2.) - 1.)) / 2. +w[1] = (y * y * (3. * y - 5.) + 2.) / 2. +w[2] = (y * (y * (-3. * y + 4.) + 1.)) / 2. +w[3] = (y * y * (y - 1.)) / 2. +\end{verbatim}} \paragraph{$\Lambda^*_{2,2}$} +{\footnotesize +\begin{verbatim} +w[0] = (y * (y * (y * (y * (2. * y - 5.) + 3.) + 1.) - 1.)) / 2. +w[1] = (y * y * (y * (y * (-6. * y + 15.) - 9.) - 2.) + 2.) / 2. +w[2] = (y * (y * (y * (y * (6. * y - 15.) + 9.) + 1.) + 1.)) / 2. +w[3] = (y * y * y * (y * (-2. * y + 5.) - 3.)) / 2. +\end{verbatim}} + +\paragraph{$\Lambda^*_{2,3}$} +{\footnotesize +\begin{verbatim} +w[0] = (y * (y * (y * y * (y * (y * (-6. * y + 21.) - 25.) + 10.) + 1.) - 1.)) / 2. +w[1] = (y * y * (y * y * (y * (y * (18. * y - 63.) + 75.) - 30.) - 2.) + 2.) / 2. +w[2] = (y * (y * (y * y * (y * (y * (-18. * y + 63.) - 75.) + 30.) + 1.) + 1.)) / 2. +w[3] = (y * y * y * y * (y * (y * (6. * y - 21.) + 25.) - 10.)) / 2. +\end{verbatim}} + +\paragraph{$\Lambda^*_{2,4}$} +{\footnotesize \begin{verbatim} -w[0] = (-1 + (1 + (3 + (-5 + 2 * y) * y) * y) * y) * y / 2; -w[1] = 1 + (-2 + (-9 + (15 - 6 * y) * y) * y) * y * y / 2; -w[2] = (1 + (1 + (9 + (-15 + 6 * y) * y) * y) * y) * y / 2; -w[3] = (-3 + (5 - 2 * y) * y) * y * y * y / 2; -\end{verbatim} +w[0] = (y * (y * (y * y * y * (y * (y * (y * (20. * y - 90.) + 154.) - 119.) + 35.) + 1.) - 1.)) / 2. +w[1] = (y * y * (y * y * y * (y * (y * (y * (-60. * y + 270.) - 462.) + 357.) - 105.) - 2.) + 2.) / 2. +w[2] = (y * (y * (y * y * y * (y * (y * (y * (60. * y - 270.) + 462.) - 357.) + 105.) + 1.) + 1.)) / 2. +w[3] = (y * y * y * y * y * (y * (y * (y * (-20. * y + 90.) - 154.) + 119.) - 35.)) / 2. +\end{verbatim}} \paragraph{$\Lambda^*_{4,2}$} +{\footnotesize \begin{verbatim} -w[0] = (2 + (-1 + (-9 + (13 - 5 * y) * y) * y) * y) * y / 24; -w[1] = (-16 + (16 + (39 + (-64 + 25 * y) * y) * y) * y) * y / 24; -w[2] = 1 + (-30 + (-70 + (126 - 50 * y) * y) * y) * y * y / 24; -w[3] = (16 + (16 + (66 + (-124 + 50 * y) * y) * y) * y) * y / 24; -w[4] = (-2 + (-1 + (-33 + (61 - 25 * y) * y) * y) * y) * y / 24; -w[5] = (7 + (-12 + 5 * y) * y) * y * y * y / 24; -\end{verbatim} +w[0] = (y * (y * (y * (y * (-5. * y + 13.) - 9.) - 1.) + 2.)) / 24. +w[1] = (y * (y * (y * (y * (25. * y - 64.) + 39.) + 16.) - 16.)) / 24. +w[2] = (y * y * (y * (y * (-50. * y + 126.) - 70.) - 30.) + 24.) / 24. +w[3] = (y * (y * (y * (y * (50. * y - 124.) + 66.) + 16.) + 16.)) / 24. +w[4] = (y * (y * (y * (y * (-25. * y + 61.) - 33.) - 1.) - 2.)) / 24. +w[5] = (y * y * y * (y * (5. * y - 12.) + 7.)) / 24. +\end{verbatim}} \paragraph{$\Lambda^*_{4,3}$} +{\footnotesize \begin{verbatim} -w[0] = (2 + (-1 + (-2 + (-22 + (58 + (-49 + 14 * y) * y) * y) * y) * y) * y) * y / 24; -w[1] = (-16 + (16 + (4 + (111 + (-290 + (245 - 70 * y) * y) * y) * y) * y) * y) * y / 24; -w[2] = 1 + (-30 + (-224 + (580 + (-490 + 140 * y) * y) * y) * y * y) * y * y / 24; -w[3] = (16 + (16 + (-4 + (226 + (-580 + (490 - 140 * y) * y) * y) * y) * y) * y) * y / 24; -w[4] = (-2 + (-1 + (2 + (-114 + (290 + (-245 + 70 * y) * y) * y) * y) * y) * y) * y / 24; -w[5] = (23 + (-58 + (49 - 14 * y) * y) * y) * y * y * y * y / 24; -\end{verbatim} +w[0] = (y * (y * (y * (y * (y * (y * (14. * y - 49.) + 58.) - 22.) - 2.) - 1.) + 2.)) / 24. +w[1] = (y * (y * (y * (y * (y * (y * (-70. * y + 245.) - 290.) + 111.) + 4.) + 16.) - 16.)) / 24. +w[2] = (y * y * (y * y * (y * (y * (140. * y - 490.) + 580.) - 224.) - 30.) + 24.) / 24. +w[3] = (y * (y * (y * (y * (y * (y * (-140. * y + 490.) - 580.) + 226.) - 4.) + 16.) + 16.)) / 24. +w[4] = (y * (y * (y * (y * (y * (y * (70. * y - 245.) + 290.) - 114.) + 2.) - 1.) - 2.)) / 24. +w[5] = (y * y * y * y * (y * (y * (-14. * y + 49.) - 58.) + 23.)) / 24. +\end{verbatim}} \paragraph{$\Lambda^*_{4,4}$} +{\footnotesize \begin{verbatim} -w[0] = (2 + (-1 + (-2 + (1 + (-80 + (273 + (-354 + (207 - 46 * y) * y) * y) * y) * y) * y) - * y) * y) * y / 24; -w[1] = (-16 + (16 + (4 + (-4 + (400 + (-1365 + (1770 + (-1035 + 230 * y) * y) * y) * y) * y) - * y) * y) * y) * y / 24; -w[2] = 1 + (-30 + (6 + (-800 + (2730 + (-3540 + (2070 - 460 * y) * y) * y) * y) * y) * y * y) - * y * y / 24; -w[3] = (16 + (16 + (-4 + (-4 + (800 + (-2730 + (3540 + (-2070 + 460 * y) * y) * y) * y) * y) - * y) * y) * y) * y / 24; -w[4] = (-2 + (-1 + (2 + (1 + (-400 + (1365 + (-1770 + (1035 - 230 * y) * y) * y) * y) * y) - * y) * y) * y) * y / 24; -w[5] = (80 + (-273 + (354 + (-207 + 46 * y) * y) * y) * y) * y * y * y * y * y / 24; -\end{verbatim} +w[0] = (y * (y * (y * (y * (y * (y * (y * (y * (-46. * y + 207.) - 354.) + 273.) - 80.) + 1.) - 2.) + - 1.) + 2.)) / 24. +w[1] = (y * (y * (y * (y * (y * (y * (y * (y * (230. * y - 1035.) + 1770.) - 1365.) + 400.) - 4.) + 4.) + + 16.) - 16.)) / 24. +w[2] = (y * y * (y * y * (y * (y * (y * (y * (-460. * y + 2070.) - 3540.) + 2730.) - 800.) + 6.) - 30.) + + 24.) / 24. +w[3] = (y * (y * (y * (y * (y * (y * (y * (y * (460. * y - 2070.) + 3540.) - 2730.) + 800.) - 4.) - 4.) + + 16.) + 16.)) / 24. +w[4] = (y * (y * (y * (y * (y * (y * (y * (y * (-230. * y + 1035.) - 1770.) + 1365.) - 400.) + 1.) + 2.) + - 1.) - 2.)) / 24. +w[5] = (y * y * y * y * y * (y * (y * (y * (46. * y - 207.) + 354.) - 273.) + 80.)) / 24. +\end{verbatim}} \paragraph{$\Lambda^*_{6,3}$} +{\footnotesize \begin{verbatim} -w[0] = (-12 + (4 + (15 + (140 + (-370 + (312 - 89 * y) * y) * y) * y) * y) * y) * y / 720; -w[1] = (108 + (-54 + (-120 + (-955 + (2581 + (-2183 + 623 * y) * y) * y) * y) * y) * y) - * y / 720; -w[2] = (-540 + (540 + (195 + (2850 + (-7722 + (6546 - 1869 * y) * y) * y) * y) * y) * y) - * y / 720; -w[3] = 1 + (-980 + (-4795 + (12845 + (-10905 + 3115 * y) * y) * y) * y * y) * y * y / 720; -w[4] = (540 + (540 + (-195 + (4880 + (-12830 + (10900 - 3115 * y) * y) * y) * y) * y) * y) - * y / 720; -w[5] = (-108 + (-54 + (120 + (-2985 + (7695 + (-6537 + 1869 * y) * y) * y) * y) * y) * y) - * y / 720; -w[6] = (12 + (4 + (-15 + (1010 + (-2566 + (2178 - 623 * y) * y) * y) * y) * y) * y) * y / 720; -w[7] = (-145 + (367 + (-311 + 89 * y) * y) * y) * y * y * y * y / 720; -\end{verbatim} +w[0] = (y * (y * (y * (y * (y * (y * (-89. * y + 312.) - 370.) + 140.) + 15.) + 4.) - 12.)) / 720. +w[1] = (y * (y * (y * (y * (y * (y * (623. * y - 2183.) + 2581.) - 955.) - 120.) - 54.) + 108.)) / 720. +w[2] = (y * (y * (y * (y * (y * (y * (-1869. * y + 6546.) - 7722.) + 2850.) + 195.) + 540.) - 540.)) / 720. +w[3] = (y * y * (y * y * (y * (y * (3115. * y - 10905.) + 12845.) - 4795.) - 980.) + 720.) / 720. +w[4] = (y * (y * (y * (y * (y * (y * (-3115. * y + 10900.) - 12830.) + 4880.) - 195.) + 540.) + 540.)) / 720. +w[5] = (y * (y * (y * (y * (y * (y * (1869. * y - 6537.) + 7695.) - 2985.) + 120.) - 54.) - 108.)) / 720. +w[6] = (y * (y * (y * (y * (y * (y * (-623. * y + 2178.) - 2566.) + 1010.) - 15.) + 4.) + 12.)) / 720. +w[7] = (y * y * y * y * (y * (y * (89. * y - 311.) + 367.) - 145.)) / 720. +\end{verbatim}} \paragraph{$\Lambda^*_{6,4}$} +{\footnotesize \begin{verbatim} -w[0] = (-12 + (4 + (15 + (-5 + (500 + (-1718 + (2231 + (-1305 + 290 * y) * y) * y) * y) * y) - * y) * y) * y) * y / 720; -w[1] = (108 + (-54 + (-120 + (60 + (-3509 + (12027 + (-15617 + (9135 - 2030 * y) * y) * y) - * y) * y) * y) * y) * y) * y / 720; -w[2] = (-540 + (540 + (195 + (-195 + (10548 + (-36084 + (46851 + (-27405 + 6090 * y) * y) - * y) * y) * y) * y) * y) * y) * y / 720; -w[3] = 1 + (-980 + (280 + (-17605 + (60145 + (-78085 + (45675 - 10150 * y) * y) * y) * y) - * y) * y * y) * y * y / 720; -w[4] = (540 + (540 + (-195 + (-195 + (17620 + (-60150 + (78085 + (-45675 + 10150 * y) * y) - * y) * y) * y) * y) * y) * y) * y / 720; -w[5] = (-108 + (-54 + (120 + (60 + (-10575 + (36093 + (-46851 + (27405 - 6090 * y) * y) * y) - * y) * y) * y) * y) * y) * y / 720; -w[6] = (12 + (4 + (-15 + (-5 + (3524 + (-12032 + (15617 + (-9135 + 2030 * y) * y) * y) * y) - * y) * y) * y) * y) * y / 720; -w[7] = (-503 + (1719 + (-2231 + (1305 - 290 * y) * y) * y) * y) *y * y * y * y * y / 720; -\end{verbatim} +w[0] = (y * (y * (y * (y * (y * (y * (y * (y * (290. * y - 1305.) + 2231.) - 1718.) + 500.) - 5.) + 15.) + + 4.) - 12.)) / 720. +w[1] = (y * (y * (y * (y * (y * (y * (y * (y * (-2030. * y + 9135.) - 15617.) + 12027.) - 3509.) + 60.) + - 120.) - 54.) + 108.)) / 720. +w[2] = (y * (y * (y * (y * (y * (y * (y * (y * (6090. * y - 27405.) + 46851.) - 36084.) + 10548.) - 195.) + + 195.) + 540.) - 540.)) / 720. +w[3] = (y * y * (y * y * (y * (y * (y * (y * (-10150. * y + 45675.) - 78085.) + 60145.) - 17605.) + 280.) + - 980.) + 720.) / 720. +w[4] = (y * (y * (y * (y * (y * (y * (y * (y * (10150. * y - 45675.) + 78085.) - 60150.) + 17620.) - 195.) + - 195.) + 540.) + 540.)) / 720. +w[5] = (y * (y * (y * (y * (y * (y * (y * (y * (-6090. * y + 27405.) - 46851.) + 36093.) - 10575.) + 60.) + + 120.) - 54.) - 108.)) / 720. +w[6] = (y * (y * (y * (y * (y * (y * (y * (y * (2030. * y - 9135.) + 15617.) - 12032.) + 3524.) - 5.) - 15.) + + 4.) + 12.)) / 720. +w[7] = (y * y * y * y * y * (y * (y * (y * (-290. * y + 1305.) - 2231.) + 1719.) - 503.)) / 720. +\end{verbatim}} \paragraph{$\Lambda^*_{6,5}$} +{\footnotesize \begin{verbatim} -w[0] = (-12 + (4 + (15 + (-5 + (-3 + (1803 + (-7829 + (13785 + (-12285 + (5533 - 1006 * y) - * y) * y) * y) * y) * y) * y) * y) * y) * y) * y / 720; -w[1] = (108 + (-54 + (-120 + (60 + (12 + (-12620 + (54803 + (-96495 + (85995 + (-38731 + 7042 - * y) * y) * y) * y) * y) * y) * y) * y) * y) * y) * y / 720; -w[2] = (-540 + (540 + (195 + (-195 + (-15 + (37857 + (-164409 + (289485 + (-257985 + (116193 - - 21126 * y) * y) * y) * y) * y) * y) * y) * y) * y) * y) * y / 720; -w[3] = 1 + (-980 + (280 + (-63090 + (274015 + (-482475 + (429975 + (-193655 + 35210 * y) * y) - * y) * y) * y) * y * y) * y * y) * y * y / 720; -w[4] = (540 + (540 + (-195 + (-195 + (15 + (63085 + (-274015 + (482475 + (-429975 + (193655 - - 35210 * y) * y) * y) * y) * y) * y) * y) * y) * y) * y) * y / 720; -w[5] = (-108 + (-54 + (120 + (60 + (-12 + (-37848 + (164409 + (-289485 + (257985 + (-116193 - + 21126 * y) * y) * y) * y) * y) * y) * y) * y) * y) * y) * y / 720; -w[6] = (12 + (4 + (-15 + (-5 + (3 + (12615 + (-54803 + (96495 + (-85995 + (38731 - 7042 * y) - * y) * y) * y) * y) * y) * y) * y) * y) * y) * y / 720; -w[7] = (-1802 + (7829 + (-13785 + (12285 + (-5533 + 1006 * y) * y) * y) * y) * y) * y * y * y - * y * y * y / 720; -\end{verbatim} +w[0] = (y * (y * (y * (y * (y * (y * (y * (y * (y * (y * (-1006. * y + 5533.) - 12285.) + 13785.) - 7829.) + + 1803.) - 3.) - 5.) + 15.) + 4.) - 12.)) / 720. +w[1] = (y * (y * (y * (y * (y * (y * (y * (y * (y * (y * (7042. * y - 38731.) + 85995.) - 96495.) + 54803.) + - 12620.) + 12.) + 60.) - 120.) - 54.) + 108.)) / 720. +w[2] = (y * (y * (y * (y * (y * (y * (y * (y * (y * (y * (-21126. * y + 116193.) - 257985.) + 289485.) + - 164409.) + 37857.) - 15.) - 195.) + 195.) + 540.) - 540.)) / 720. +w[3] = (y * y * (y * y * (y * y * (y * (y * (y * (y * (35210. * y - 193655.) + 429975.) - 482475.) + 274015.) + - 63090.) + 280.) - 980.) + 720.) / 720. +w[4] = (y * (y * (y * (y * (y * (y * (y * (y * (y * (y * (-35210. * y + 193655.) - 429975.) + 482475.) + - 274015.) + 63085.) + 15.) - 195.) - 195.) + 540.) + 540.)) / 720. +w[5] = (y * (y * (y * (y * (y * (y * (y * (y * (y * (y * (21126. * y - 116193.) + 257985.) - 289485.) + + 164409.) - 37848.) - 12.) + 60.) + 120.) - 54.) - 108.)) / 720. +w[6] = (y * (y * (y * (y * (y * (y * (y * (y * (y * (y * (-7042. * y + 38731.) - 85995.) + 96495.) - 54803.) + + 12615.) + 3.) - 5.) - 15.) + 4.) + 12.)) / 720. +w[7] = (y * y * y * y * y * y * (y * (y * (y * (y * (1006. * y - 5533.) + 12285.) - 13785.) + 7829.) + - 1802.)) / 720. +\end{verbatim}} \paragraph{$\Lambda^*_{6,6}$} +{\footnotesize \begin{verbatim} -w[0] = (-12 + (4 + (15 + (-5 + (-3 + (1 + (6587 + (-34869 + (77815 + (-93577 + (63866 - + (-23426 + 3604 * y) * y) * y) * y) * y) * y) * y) * y) * y) * y) * y) * y) - * y / 720; -w[1] = (108 + (-54 + (-120 + (60 + (12 + (-6 + (-46109 + (244083 + (-544705 + (655039 - + (-447062 + (163982 - 25228 * y) * y) * y) * y) * y) * y) * y) * y) * y) * y) - * y) * y) * y / 720; -w[2] = (-540 + (540 + (195 + (-195 + (-15 + (15 + (138327 + (-732249 + (1634115 + (-1965117 - + (1341186 + (-491946 + 75684 * y) * y) * y) * y) * y) * y) * y) * y) * y) * y) - * y) * y) * y / 720; -w[3] = 1 + (-980 + (280 + (-20 + (-230545 + (1220415 + (-2723525 + (3275195 + (-2235310 - + (819910 - 126140 * y) * y) * y) * y) * y) * y) * y) * y * y) * y * y) * y - * y / 720; -w[4] = (540 + (540 + (-195 + (-195 + (15 + (15 + (230545 + (-1220415 + (2723525 + (-3275195 - + (2235310 + (-819910 + 126140 * y) * y) * y) * y) * y) * y) * y) * y) * y) * y) - * y) * y) * y / 720; -w[5] = (-108 + (-54 + (120 + (60 + (-12 + (-6 + (-138327 + (732249 + (-1634115 + (1965117 - + (-1341186 + (491946 - 75684 * y) * y) * y) * y) * y) * y) * y) * y) * y) * y) - * y) * y) * y / 720; -w[6] = (12 + (4 + (-15 + (-5 + (3 + (1 + (46109 + (-244083 + (544705 + (-655039 + (447062 - + (-163982 + 25228 * y) * y) * y) * y) * y) * y) * y) * y) * y) * y) * y) * y) - * y / 720; -w[7] = (-6587 + (34869 + (-77815 + (93577 + (-63866 + (23426 - 3604 * y) * y) * y) * y) - * y) * y) * y * y * y * y * y * y * y / 720; -\end{verbatim} +w[0] = (y * (y * (y * (y * (y * (y * (y * (y * (y * (y * (y * (y * (3604. * y - 23426.) + 63866.) + - 93577.) + 77815.) - 34869.) + 6587.) + 1.) - 3.) - 5.) + 15.) + 4.) - 12.)) / 720. +w[1] = (y * (y * (y * (y * (y * (y * (y * (y * (y * (y * (y * (y * (-25228. * y + 163982.) - 447062.) + + 655039.) - 544705.) + 244083.) - 46109.) - 6.) + 12.) + 60.) - 120.) - 54.) + 108.)) / 720. +w[2] = (y * (y * (y * (y * (y * (y * (y * (y * (y * (y * (y * (y * (75684. * y - 491946.) + 1341186.) + - 1965117.) + 1634115.) - 732249.) + 138327.) + 15.) - 15.) - 195.) + 195.) + 540.) - 540.)) / 720. +w[3] = (y * y * (y * y * (y * y * (y * (y * (y * (y * (y * (y * (-126140. * y + 819910.) - 2235310.) + + 3275195.) - 2723525.) + 1220415.) - 230545.) - 20.) + 280.) - 980.) + 720.) / 720. +w[4] = (y * (y * (y * (y * (y * (y * (y * (y * (y * (y * (y * (y * (126140. * y - 819910.) + 2235310.) + - 3275195.) + 2723525.) - 1220415.) + 230545.) + 15.) + 15.) - 195.) - 195.) + 540.) + 540.)) / 720. +w[5] = (y * (y * (y * (y * (y * (y * (y * (y * (y * (y * (y * (y * (-75684. * y + 491946.) - 1341186.) + + 1965117.) - 1634115.) + 732249.) - 138327.) - 6.) - 12.) + 60.) + 120.) - 54.) - 108.)) / 720. +w[6] = (y * (y * (y * (y * (y * (y * (y * (y * (y * (y * (y * (y * (25228. * y - 163982.) + 447062.) + - 655039.) + 544705.) - 244083.) + 46109.) + 1.) + 3.) - 5.) - 15.) + 4.) + 12.)) / 720. +w[7] = (y * y * y * y * y * y * y * (y * (y * (y * (y * (y * (-3604. * y + 23426.) - 63866.) + 93577.) + - 77815.) + 34869.) - 6587.)) / 720. +\end{verbatim}} \paragraph{$\Lambda^*_{8,4}$} +{\footnotesize +\begin{verbatim} +w[0] = (y * (y * (y * (y * (y * (y * (y * (y * (-3569. * y + 16061.) - 27454.) + 21126.) - 6125.) + + 49.) - 196.) - 36.) + 144.)) / 40320. +w[1] = (y * (y * (y * (y * (y * (y * (y * (y * (32121. * y - 144548.) + 247074.) - 190092.) + + 55125.) - 672.) + 2016.) + 512.) - 1536.)) / 40320. +w[2] = (y * (y * (y * (y * (y * (y * (y * (y * (-128484. * y + 578188.) - 988256.) + 760312.) + - 221060.) + 4732.) - 9464.) - 4032.) + 8064.)) / 40320. +w[3] = (y * (y * (y * (y * (y * (y * (y * (y * (299796. * y - 1349096.) + 2305856.) - 1774136.) + + 517580.) - 13664.) + 13664.) + 32256.) - 32256.)) / 40320. +w[4] = (y * y * (y * y * (y * (y * (y * (y * (-449694. * y + 2023630.) - 3458700.) + 2661540.) + - 778806.) + 19110.) - 57400.) + 40320.) / 40320. +w[5] = (y * (y * (y * (y * (y * (y * (y * (y * (449694. * y - 2023616.) + 3458644.) - 2662016.) + + 780430.) - 13664.) - 13664.) + 32256.) + 32256.)) / 40320. +w[6] = (y * (y * (y * (y * (y * (y * (y * (y * (-299796. * y + 1349068.) - 2305744.) + 1775032.) + - 520660.) + 4732.) + 9464.) - 4032.) - 8064.)) / 40320. +w[7] = (y * (y * (y * (y * (y * (y * (y * (y * (128484. * y - 578168.) + 988176.) - 760872.) + + 223020.) - 672.) - 2016.) + 512.) + 1536.)) / 40320. +w[8] = (y * (y * (y * (y * (y * (y * (y * (y * (-32121. * y + 144541.) - 247046.) + 190246.) + - 55685.) + 49.) + 196.) - 36.) - 144.)) / 40320. +w[9] = (y * y * y * y * y * (y * (y * (y * (3569. * y - 16060.) + 27450.) - 21140.) + 6181.)) / 40320. +\end{verbatim}} + +\paragraph{$M'_8$} +{\footnotesize +\begin{verbatim} +w[0] = (y * (y * (y * (y * (y * (y * (-10. * y + 21.) + 28.) - 105.) + 70.) + 35.) - 56.) + 17.) / 3360. +w[1] = (y * (y * (y * (y * (y * (y * (70. * y - 175.) - 140.) + 770.) - 560.) - 350.) + 504.) - 102.) / 3360. +w[2] = (y * (y * (y * (y * (y * (y * (-210. * y + 609.) + 224.) - 2135.) + 910.) + 2765.) - 2520.) + 255.) / 3360. +w[3] = (y * y * (y * y * (y * y * (350. * y - 1155.) + 2940.) - 4900.) + 3020.) / 3360. +w[4] = (y * (y * (y * (y * (y * (y * (-350. * y + 1295.) - 420.) - 2135.) - 910.) + 2765.) + 2520.) + 255.) / 3360. +w[5] = (y * (y * (y * (y * (y * (y * (210. * y - 861.) + 532.) + 770.) + 560.) - 350.) - 504.) - 102.) / 3360. +w[6] = (y * (y * (y * (y * (y * (y * (-70. * y + 315.) - 280.) - 105.) - 70.) + 35.) + 56.) + 17.) / 3360. +w[7] = (y * y * y * y * y * (y * (10. * y - 49.) + 56.)) / 3360. +\end{verbatim}} + + + +\section{Formules avec diffusion} +\label{sec:form-Lambda2k-avec-diff} + + + +\begin{table}[h]\centering +\begin{tabular}{@{}lcccccccc@{}} \toprule + & & Moments & Régularité & Nb points & Degré & Support & Temps (python)\\ \midrule +$\tilde{\Lambda}^*_{2,1}\sim \Lambda^*_{2,1} + \text{diffusion}$ &\eqref{eq:lambda21diffusion} & 2 & $C^1$ & 4 & 3 & $[-2;2]$ &\\ +$\tilde{\Lambda}^*_{2,2}\sim \Lambda^*_{2,2} + \text{diffusion}$ &\eqref{eq:lambda22diffusion} & 2 & $C^2$ & 4 & 5 & $[-2;2]$ & \\ \bottomrule + \end{tabular} + \caption{Caractéristiques des formules de remaillage avec diffusion} +\label{tab:formulesRemaillageDiffusion} +\end{table} + +On pose $f = {\nu dt\over dx^2}$. Les contraintes sont modifiées pour dépendre de $f$ (la symétrie et la régularité de la fonction restent inchangées): +\begin{itemize} +\item Conservation des moments discrets: + \begin{equation} + \label{eq:2} + \sum_{l=-2}^2 l^q\tilde{\Lambda}^*_{2,k}(s-l) =\begin{cases} + s^q + 2f & \text{ si } q=2\\ + s^q & \text{ sinon} + \end{cases},\quad 0<s<1, q=0, \dots, 2 + \end{equation} +\item Diffusion nulle: + \begin{equation} + \label{eq:4} + \left . \tilde{\Lambda}^*_{2,k} (x) \right |_{f=0} = \Lambda^*_{2,k} (x) + \end{equation} + Sous l'hypothèse de dépendance linéaire en $f$, les polynômes définissant la formule avec diffusion sont pris de la forme: + \begin{equation} + \label{eq:5} + p_i(x) = \sum_{j=0}^{2k+1}(c_{i,j} + f\tilde{c}_{i,j})x^j,\quad i=0,\dots , n/2 + 1 + \end{equation} + Les coefficients $c_{i,j}$ sont les coefficient obtenus pour la formule sans diffusion, reste à déterminer les $\tilde{c}_{i,j}$. +\end{itemize} + +Remarque 1: les moments continus deviennent: +\begin{equation} + \label{eq:3} + \int_{-\infty}^\infty x^q\tilde{\Lambda}^*_{2,k}(x) \mathrm{d}x = + \begin{cases} + 1 & \text{si } q = 0\\ + 2f & \text{si } q = 2\\ + 0 & \text{sinon } + \end{cases},\quad q=0, \dots, 2 +\end{equation} + +Remarque 2: l'exactitude aux points de coordonnées entières devient: + \begin{equation} + \label{eq:5} + \tilde{\Lambda}^*_{2,k} (i) = \begin{cases} + 1 - 2f & \text{ si } i=0\\ + f & \text{ si } i=-1\\ + 0 & \text{ sinon} + \end{cases},\quad i = -2, \dots, 0 + \end{equation} + +On obtient les formules suivantes: + +\paragraph{$\tilde{\Lambda}^*_{2,1}$} +\label{sec:tildelambda_2-1} +\begin{equation} + \label{eq:lambda21diffusion} + \tilde{\Lambda}^*_{2,1}(x) = + \begin{cases} + 1-2f+(-{5\over2}+9f)|x|^2-(-{3\over2}+6f)|x|^3 & 0\leqslant |x|<1\\ + 2-4f-(4-12f)|x|+({5\over2}-9f)|x|^2-({1\over2}-2f)|x|^3 & 1\leqslant |x|<2\\ + 0 & |x| \geqslant 2 + \end{cases} +\end{equation} +{\footnotesize +\begin{verbatim} +w[0] = f + (-1 + (2 - 6 * f + (-1 + 4 * f) * y) * y) * y / 2; +w[1] = 1 - 2 * f + (-5 + 18 * f + (3 - 12 * f) * y) * y * y / 2; +w[2] = f + (1 + (4 - 18 * f + (-3 + 12 * f) * y) * y) * y / 2; +w[3] = (-1 + 6 * f + (1 - 4 * f) * y) * y * y / 2; +\end{verbatim}} + +\begin{figure}[htbp] + \centering + \includegraphics[width=.7\linewidth]{./lambda21_diffusion} + \caption{$\tilde{\Lambda}^*_{2,1}$} + \label{fig:lambda21diffusion} +\end{figure} + + +\paragraph{$\tilde{\Lambda}^*_{2,2}$} +\label{sec:tildelambda_2-2} +\begin{equation} + \label{eq:lambda22diffusion} + \tilde{\Lambda}^*_{2,2}(x) = + \begin{cases} + 1-2f-x^2-({9 \over 2}-30f)x^3+({15 \over 2}-45f)x^4-(3-18f)x^5 & 0\leqslant |x|<1\\ + -4+32f-(-18+120f)x+(-29+180f)x^2-(-{43 \over 2}+130f)x^3& \\ \hspace{6cm} +(-{15 \over 2}+45f)x^4-(-1+6f)x^5& 1\leqslant |x|<2\\ + 0 & |x| \geqslant 2 + \end{cases} +\end{equation} +{\footnotesize \begin{verbatim} -w[0] = (144 + (-36 + (-196 + (49 + (-6125 + (21126 + (-27454 + (16061 - 3569 * y) * y) * y) - * y) * y) * y) * y) * y) * y / 40320; -w[1] = (-1536 + (512 + (2016 + (-672 + (55125 + (-190092 + (247074 + (-144548 + 32121 * y) - * y) * y) * y) * y) * y) * y) * y) * y / 40320; -w[2] = (8064 + (-4032 + (-9464 + (4732 + (-221060 + (760312 + (-988256 + (578188 - 128484 - * y) * y) * y) * y) * y) * y) * y) * y) * y / 40320; -w[3] = (-32256 + (32256 + (13664 + (-13664 + (517580 + (-1774136 + (2305856 + (-1349096 - + 299796 * y) * y) * y) * y) * y) * y) * y) * y) * y / 40320; -w[4] = 1 + (-57400 + (19110 + (-778806 + (2661540 + (-3458700 + (2023630 - 449694 * y) * y) - * y) * y) * y) * y * y) * y * y / 40320; -w[5] = (32256 + (32256 + (-13664 + (-13664 + (780430 + (-2662016 + (3458644 + (-2023616 - + 449694 * y) * y) * y) * y) * y) * y) * y) * y) * y / 40320; -w[6] = (-8064 + (-4032 + (9464 + (4732 + (-520660 + (1775032 + (-2305744 + (1349068 - 299796 - * y) * y) * y) * y) * y) * y) * y) * y) * y / 40320; -w[7] = (1536 + (512 + (-2016 + (-672 + (223020 + (-760872 + (988176 + (-578168 + 128484 * y) - * y) * y) * y) * y) * y) * y) * y) * y / 40320; -w[8] = (-144 + (-36 + (196 + (49 + (-55685 + (190246 + (-247046 + (144541 - 32121 * y) * y) - * y) * y) * y) * y) * y) * y) * y / 40320; -w[9] = (6181 + (-21140 + (27450 + (-16060 + 3569 * y) * y) * y) * y) * y * y * y * y * y / 40320; -\end{verbatim} +w[0] = f + (-1 + (1 + (-20 * f + 3 + (30 * f - 5 + (2 - 12 * f) * y) * y) * y) * y) * y / 2; +w[1] = 1 - 2 * f + (-2 + (-9 + 60 * f + (15 - 90 * f + (-6 + 36 * f) * y) * y) * y) * y * y / 2; +w[2] = f + (1 + (1 + (-60 * f + 9 + (90 * f - 15 + (-36 * f + 6) * y) * y) * y) * y) * y / 2; +w[3] = (20 * f - 3 + (-30 * f + 5 + (12 * f - 2) * y) * y) * y * y * y) / 2; +\end{verbatim}} + +\begin{figure}[htbp] + \centering + \includegraphics[width=.7\linewidth]{./lambda22_diffusion} + \caption{$\tilde{\Lambda}^*_{2,2}$} + \label{fig:lambda22diffusion} +\end{figure} +% \section{Formules $\Lambda^*_{4,k}$ avec diffusion} +% \label{sec:form-Lambda4k-avec-diff} + +% A priori, le modèle précédent devrai conduire à l'obtention de formules $\tilde{\Lambda}^*_{4,k}$ avec diffusion: +% \begin{itemize} +% \item Exactitude aux points de coordonnées entières +% \begin{equation} +% \label{eq:5} +% \tilde{\Lambda}^*_{4,k} (i) = \begin{cases} +% 1 - 2f & \text{ si } i=0\\ +% f & \text{ si } i=-1\\ +% 0 & \text{ sinon} +% \end{cases} ,\quad i = -3, \dots, 0 +% \end{equation} +% ou bien (en remarquant le parallèle entre la dépendance en $f$ et un shéma différences finies) +% \begin{equation} +% \label{eq:6} +% \tilde{\Lambda}^*_{4,k} (i) = \begin{cases} +% 1 - {5 \over 2}f & \text{ si } i=0\\ +% {4 \over 3}f & \text{ si } i=-1\\ +% -{1 \over 12}f & \text{ si } i=-2\\ +% 0 & \text{ sinon} +% \end{cases},\quad i = -3, \dots, 0 +% \end{equation} +% \item Conservation des moments discrets: +% \begin{equation} +% \label{eq:2} +% \sum_{l=-3}^3 l^q\tilde{\Lambda}^*_{4,k}(s-l) =\begin{cases} +% s^q + 2f & \text{ si } q=2\\ +% s^q & \text{ sinon} +% \end{cases},\quad 0<s<1, q=0, \dots, 4 +% \end{equation} +% \end{itemize} +% Le système obtenu est singulier. \end{document}