code fenics

8 views
Skip to first unread message

Yacoub Ba

unread,
Jul 28, 2023, 6:55:45 AM7/28/23
to fenics-support
voilà l'un des codes que j'ai essayé d'executer mais qui ne marche pas:
from fenics import *
#creer le maillage du domaine
mesh = UnitIntervalMesh(12)
#Définir les espaces fonctionnels
V = VectorFunctionSpace(mesh, 'P', 2)#Espace des fonctions pour la vitesse
Q = FunctionSpace(mesh, 'P', 1)#Espace des fonctions pour la pression

#Définir les conditions aux limites
import numpy as np
A = np.array([4 * x * (1 - x) * y, 0])
u_D = Constant(A) #Définir la fonction de vitesse prescrite sur Gamma_D

def boundary(x, on_boundary):
    return on_boundary

bc = DirichletBC(V, u_D, boundary)

# Définir les fonctions test et les foncrions d'essai
u = TrialFunction(V)
v = TestFunction(V)
p = TrialFunction(Q)
q = TestFunction(Q)

#Définir les variables pour le problème de Stokes
u = Function(V)
p = Function(Q)

#Définir les équations du problème de Stokes
F = inner(grad(u), grad(v))*dx - div(v)*p*dx - inner(f, v)*dx
G = div(u)*q*dx

#Résoudre le système
solve(F == 0, u, bc)
solve(G == 0, p)

#Afficher les résultats
plot(u)
plot(p)

#Afficher les graphiques
interactive()
Reply all
Reply to author
Forward
0 new messages