Par exemple, je voudrais calculer numériquement la norme de u = 1 danscertain domaine qui comprend zéro, j'essayé quadratureGauss et d'échec, il estpeu loin de la vraieL2-norme sur la boule unité en coordonnées sphériques d'intégration, est existe-t-il un bon moyen de le faire? Ce problème est souvent observé dans les problèmes de jouets informatiques à éléments finis pour les domaines avec des coins rentrants. Merci.
finite-element
quadrature
Shuhao Cao
la source
la source
Réponses:
Vous devriez pouvoir obtenir des résultats précis avec mpmath , un module Python pour les calculs à virgule flottante de précision arbitraire. Il existe des exemples d'intégration avec des singularités dans la documentation . Vous voudrez lui dire explicitement de rompre l'intervalle:
Vous devrez peut-être augmenter la précision (par exemple
mp.dps=30
) et elle sera probablement lente, mais devrait être assez précise.Vous pouvez également essayer d'imbriquer des appels à MATLAB
quadgk()
, qui utilise la quadrature adaptative de Gauss-Kronrod en 1D.la source