Besoin d'aide en fenics

8 views
Skip to first unread message

Yacoub Ba

unread,
Jul 30, 2023, 7:38:57 PM7/30/23
to fenics-support
voilà l'erreur indiquée
Error: Unable to create Dirichlet boundary condition.
Reason: Illegal value dimension 3, expecting 1.
Where: This error was encountered inside DirichletBC.cpp.
Process: 0

Et voici le code:
from fenics import *
#creer le maillage du domaine
mesh = UnitIntervalMesh(246)
#Définir les espaces fonctionnels
V = VectorFunctionSpace(mesh, 'P', 1)#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
LI = [0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1]
for x in LI:
    for y in LI:
        A = np.array([4 * x * (1 - x) * y, 0, 0])
#Définir la fonction de vitesse prescrite sur Gamma_D
def boundary(x, on_boundary):
    return on_boundary
bc = DirichletBC(V, A, 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