2014-07-15 1 views
4

J'essaie actuellement de résoudre l'équation de Monge-Ampere dans FEniCS, en implémentant une condition aux limites non standard.Utilisation d'une solution pour une PDE, pour définir une autre PDE - FEniCS

La condition aux limites exige que le dégradé de la solution doit mapper la limite du domaine d'origine à un autre domaine prescrit.

Lorsque le domaine cible est prescrit pour le cercle unité, la mise en œuvre est assez simple, et je l'ai abordé en mettant ce qui suit dans mon système:

+(dot(grad(uh),grad(uh))-1)*vh*ds\ (1) 

où euh, est une fonction d'essai, et vh est une fonction de test. Lorsque l'on considère un espace cible plus complexe, comme le carré [-1,1] × [-1,1], les choses deviennent plus difficiles, car ce n'est pas si simple à résoudre à la main, donc mon idée est de utilisez la fonction de distance.

Pour ce faire, je l'ai résolu une version stabilisée de l'Eikonal équation, qui est la solution est la fonction de distance signée, mon idée était de remplacer (1) avec:

+E(grad(uh))*vh*ds 

où E est la solution de l'équation Eikonal, mais quand j'essaie d'implémenter cela, j'obtiens une erreur, indiquant que la fonction attend des arguments scalaires,

Existe-t-il un moyen de programmer la solution pour accepter grad (uh) comme une entrée, dans une seconde forme différentielle?

Merci à tous pour votre temps!

Répondre

0

Vous devez spécifier des conditions Neumann (vecteur de gradient) sur la frontière commune au lieu de Dirchelet (scalaire potentiel). Si je modélisais un problème physique de conduction/diffusion entre deux régions dissemblables, la conservation de l'énergie exigerait que les flux de chaque côté de la frontière soient équilibrés. Comment exprimeriez-vous cette condition aux limites dans votre équation?

+0

Je suis désolé mais je ne vois pas vraiment comment une frontière commune entre dans cette – ellya

Questions connexes