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 constraint in PDE for linear solid mechanics

Please login with a confirmed email address before reporting spam

Hi,

I am currently doing my PhD studies and I have a problem understanding the weak constraint/weak contribution in the Weak Form PDE toolbox. I'm trying to implement an RVE (Representative Volume Element) in 2D using Weak Form PDE. Everything worked great until I tried to implement a constraint equation.

The equation I need to implement as a constraint is in the following form:

vint(u*x) = 1

That is, I want to constraint the volume integral (in the whole domain) of u*x (where u is the displacement field in x-direction and x is just the nodal x-coordinates) to a constant value, here 1. I've tried using the Weak constraint node, but get singular matrix. The pointwise constraint works better, but the results are completely wrong (and give a great error).

Is there a way to implement such a constraint in Comsol, and how?

Thanks for any help!


1 Reply Last Post 20.09.2018, 01:42 GMT-4
Henrik Sönnerlind COMSOL Employee

Please login with a confirmed email address before reporting spam

Posted: 6 years ago 20.09.2018, 01:42 GMT-4

Hi,

If you are using a Weak Constraint node, it seems like you apply it to a domain (that is for each mesh node).

But since you already use a volume integral, there is only a single constraint with a single Lagrange multiplier. So it is the tools under Global... you should use. There you will find a Pointwise Constraint (which you would write something like "intop1(u*x)-1".

There is no predefined weak global constraint. If you really need that one, you will have to write it yourself, like "test(lm)*(intop1(u*x)-1)+lm*test(intop1(u*x))". Here 'lm' is your scalar Lagrange multiplier, to be defined in a Global Equations node.

Regards,
Henrik

-------------------
Henrik Sönnerlind
COMSOL
Hi, If you are using a **Weak Constraint** node, it seems like you apply it to a domain (that is for each mesh node). But since you already use a volume integral, there is only a single constraint with a single Lagrange multiplier. So it is the tools under **Global...** you should use. There you will find a **Pointwise Constraint** (which you would write something like "intop1(u\*x)-1". There is no predefined weak global constraint. If you really need that one, you will have to write it yourself, like "test(lm)\*(intop1(u\*x)-1)+lm\*test(intop1(u\*x))". Here 'lm' is your scalar Lagrange multiplier, to be defined in a **Global Equations** node. Regards, Henrik

Note that while COMSOL employees may participate in the discussion forum, COMSOL® software users who are on-subscription should submit their questions via the Support Center for a more comprehensive response from the Technical Support team.