Discussion Closed This discussion was created more than 6 months ago and has been closed. To start a new discussion with a link back to this one, click here.
weak-form pde, adding condition, error in solving
Posted Oct 17, 2010, 6:52 p.m. EDT 1 Reply
Please login with a confirmed email address before reporting spam
Hi everybody,
I've got following PDE in weak-form (I hope the notation is understandable):
int_Omega nabla(u)*nabla(v) dx = int_(dOmega) w*v ds ,
where dOmega denotes the boundary of subdomain Omega, w is Neumann boundary-condition and v is a test-function.
Trying to implement this in COMSOL I started COMSOL and chose
3D -> PDE Modes -> Weak form, subdomain -> Stationary Analysis
and followed instructions in the COMSOL Modelling Guide 3.5a, p.365 "Entering a PDE in Coefficient Form Using the Weak Form" (hope it's the adequate section for my PDE), adopting them to 3D.
I built my geometry (let's say a "normal" cylinder for the sake of simplicity) and entered in
Physics -> Subdomain settings -> weak:
-ux*test(ux)-uy*test(uy)-uz*test(uz)
(and set dweak, bnd.weak, constr to 0).
In Physics -> Boundary settings
I set the first (of six) surface areas:
weak = 2*u_test (assuming that there holds w = 2)
dweak and constr = 0
In the second surface area:
weak = -2*u_test (assuming that there holds w = -2)
dweak and constr = 0
In the remaining surface areas:
weak, dweak, constr = 0
"Solve" resulted in following error:
Failed to find a solution: Divergence of the linear iterations. Returned solution has not converged.
I would like to add the constraint, that
int_Omega u dx = 0,
but don't know how to ?! (This could be the reason for the error?!)
So as you can easily recognize, I'm not very familiar with the COMSOL functionalities yet, but I hope someone have the patience and knowledge to help me implementing the PDE correctly.
Thanks a lot in advance
I've got following PDE in weak-form (I hope the notation is understandable):
int_Omega nabla(u)*nabla(v) dx = int_(dOmega) w*v ds ,
where dOmega denotes the boundary of subdomain Omega, w is Neumann boundary-condition and v is a test-function.
Trying to implement this in COMSOL I started COMSOL and chose
3D -> PDE Modes -> Weak form, subdomain -> Stationary Analysis
and followed instructions in the COMSOL Modelling Guide 3.5a, p.365 "Entering a PDE in Coefficient Form Using the Weak Form" (hope it's the adequate section for my PDE), adopting them to 3D.
I built my geometry (let's say a "normal" cylinder for the sake of simplicity) and entered in
Physics -> Subdomain settings -> weak:
-ux*test(ux)-uy*test(uy)-uz*test(uz)
(and set dweak, bnd.weak, constr to 0).
In Physics -> Boundary settings
I set the first (of six) surface areas:
weak = 2*u_test (assuming that there holds w = 2)
dweak and constr = 0
In the second surface area:
weak = -2*u_test (assuming that there holds w = -2)
dweak and constr = 0
In the remaining surface areas:
weak, dweak, constr = 0
"Solve" resulted in following error:
Failed to find a solution: Divergence of the linear iterations. Returned solution has not converged.
I would like to add the constraint, that
int_Omega u dx = 0,
but don't know how to ?! (This could be the reason for the error?!)
So as you can easily recognize, I'm not very familiar with the COMSOL functionalities yet, but I hope someone have the patience and knowledge to help me implementing the PDE correctly.
Thanks a lot in advance
1 Reply Last Post Oct 24, 2010, 9:18 a.m. EDT