Hi Michael,
Thank you for the prompt reply.
You are right, the chosen space was wrong.
But, I am facing a problem with the formulation.
As I am solving a vector problem, I need to choose a vector space. If I choose
Code:
V = VectorL2(mesh, order=order, complex=True)
F = VectorL2(mesh, order=order, complex=True)
fes = FESpace([V,F],dgjumps=True)
For the bilinear form
Code:
def epsilon(u):
return 0.5 * (u.Deriv().trans + u.Deriv())
def sigma(u):
return lamb*Trace(epsilon(u))*Id(mesh.dim) + 2*mu*epsilon(u)
a = BilinearForm(fes, condense=condense)
dS = dx(element_boundary=True)
a += InnerProduct(sigma(u), epsilon(v)) * dx - rho * omega**2 * InnerProduct(u, v) * dx +\
beta*InnerProduct(jump_u,jump_v) * dS +\
-InnerProduct(sigma(u)*n, jump_v) * dS - InnerProduct(sigma(v)*n, jump_u) * dS
a += -1j*matA*uhat.Trace()*vhat.Trace() * ds
Then, I got the following error: "NgException: don't have a trace, primal evaluator = FN5ngfem6DiffOpINS_16DiffOpIdVectorH1ILi2ELNS_4VorBE0EEEEEvE"
If I choose the following spaces
Code:
V = VectorL2(mesh, order=order, complex=True)
F = FacetFESpace(mesh, order=order, complex=True)
fes = FESpace([V,F],dgjumps=True)
jump_u = u-uhat
jump_v = v-vhat
I got the error: "NgException: Dimensions don't match, op = - dims1 = 0: 2, dims2 = 0: 1"
Is it possible to choose a vector space for FacetFESpace?
Thank you in advance.