2016-06-16 1 views
1

Je vais essayer d'expliquer mon doute de la meilleure façon possible:Comment utiliser un coefficient variable PDE Boîte à outils pour résoudre une équation parabolique (Matlab)

J'essaie de résoudre l'équation de réaction-diffusion avec PDE boîte à outils (Matlab), la syntaxe pour obtenir la solution (u) est la suivante:

parabolique - Solve problème EDP parabolique

Cette fonction Matlab produit la solution à la formulation FEM du problème de la PDE scalaire: u1 = parabolique (u0, liste, b, p, e, t, c, a, f, d)

c, a, f, d sont les coefficients de l'équation parabolique:

d(∂u/∂t)−∇⋅(c∇u)+au=f, 

Mais je veux ceci:

u=parabolic(u0,tlist,b,p,e,t,c,@coeffunction,f,d); 

u0 est la solution initiale, tlist est un vecteur tableau de temps où j'écris la solution, b correspond aux conditions aux limites, (p, e, t) sont les éléments du maillage, et @coeffunction est une poignée de fonction qui correspond au coefficient "a".

Ma question est: Tout le monde sait s'il est possible de spécifier "a" comme un coefficient variable qui a une dépendance avec tlist?

Répondre

0

Bien que n'étant pas la boîte à outils PDE, le FEATool Matlab FEM toolbox permet d'entrer et de résoudre les PDE avec des coefficients non linéaires et dépendant du temps. Les expressions d'équations et de limites peuvent être définies comme des constantes ou des expressions de chaîne (y compris l'heure, les variables dépendantes, les dérivées, les coordonnées de dimension d'espace et même les fonctions Matlab externes définies par l'utilisateur). Pour exemple coefficients peuvent être définis comme

fea.coef = { 'coef1' [] [] 42 ; 
      'coef2' [] [] '2*u-ux^2+sin(2*pi*t)' ; 
      'coef3' [] [] 'my_fun(t)' }; 

où maintenant coef1-coef3 peut être utilisé librement dans les équations et conditions aux limites. Ce answer montre un exemple de transfert de chaleur illustrant cette approche.

Dans votre cas, avec une équation de réaction-diffusion vous pourriez simplement utiliser le Matlab GUI sous forme d'équations convection-diffusion-réaction PDE sont pré-définis comme entrer

u*t 

comme le terme source de réaction pour la correspondante R coefficient. Et si vous préférez travailler avec des fichiers m-script, vous pouvez simplement exporter le modèle d'interface graphique en tant que fichier texte .m du modèle FEA.