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.

Using boundary load condition at an interface in solid mechanics module

Please login with a confirmed email address before reporting spam

Hello,

ultimately I would like to solve a problem with two linear elastic materials (each with different Lame parameters) and at the interface between the two materials I would like to impose continuity of displacement and a jump in the stress.

I am using the `Solid Mechanics' physics, my study is stationary and I'm running version 5.1.

I started with a toy problem: two cubes placed next to each other with one face in common. At one end (on a square face) I prescribe a zero normal displacement and at the opposing end I apply a small displacement. On two of the long rectangular faces I apply symmetry conditions, on the other two I leave the default free conditions. This should be modelling stacking two cubes and then loading between two plates in the direction of the long axis of the stack. I'm modelling a quarter of a column in unconfined axial compression.

On the common face between the two cubes I would like to impose continuity of displacement and continuity of stress. (I need to see how this works so that later I can modify it to a jump in stress condition). When I built the geometry I formed a union and I have added a Solid Mechanics node for each cube. In the first cube I use a `Prescribed displacement' condition and set the displacement to equal the displacement in the second cube. In the second cube I use a `Boundary Load' condition. The description says `stress dot normal = force per unit area'. However, from a few experiments I have found that typing zeros into the applied force box imposes continuity of stress and a non zero entry actually imposes that jump between the stresses acting on the facing surfaces.

It seems that at an interface the 'boundary load' condition that is actually implemented is on the jump in stress, but obviously I'm a bit nervous about just deciding what Comsol is doing in contradiction to the documentation and wondered if anyone had any ideas about this? If someone can point me to some documentation specifically about using the boundary load condition between two interfaces that would be really helpful. Or perhaps the `boundary load' condition should not be used between two objects and you can suggest the right way to approach this problem?

Thanks

7 Replies Last Post 21 juin 2017, 07:51 UTC−4
Henrik Sönnerlind COMSOL Employee

Please login with a confirmed email address before reporting spam

Posted: 9 years ago 17 sept. 2015, 16:18 UTC−4
Hi,

The equation displayed should be viewed as conceptual. It is intended for the standard case where the load is applied to a free boundary.

If you apply it to an internal boundary, it acts as you intend.

Regards,
Henrik
Hi, The equation displayed should be viewed as conceptual. It is intended for the standard case where the load is applied to a free boundary. If you apply it to an internal boundary, it acts as you intend. Regards, Henrik

Please login with a confirmed email address before reporting spam

Posted: 9 years ago 18 sept. 2015, 04:52 UTC−4
Brilliant, thank you very much for your response.

Can you point me to somewhere in the documentation where I can read about how the `boundary load' condition behaves on an internal boundary, so that I can be confident about the details, directions of normals etc.

Thanks,
Laura
Brilliant, thank you very much for your response. Can you point me to somewhere in the documentation where I can read about how the `boundary load' condition behaves on an internal boundary, so that I can be confident about the details, directions of normals etc. Thanks, Laura

Henrik Sönnerlind COMSOL Employee

Please login with a confirmed email address before reporting spam

Posted: 9 years ago 18 sept. 2015, 07:38 UTC−4
Hi,

There are no normals involved unless the load type is 'Pressure'. Using a pressure load on an internal boundary is nothing that I would recommend, since such a load would depend on the internal selection of normal direction on such a boundary. For external boundaries, the normal always points outwards.

You can find in the theory for the loads in the section 'Equation Implementation' under 'Formulation of the Equilibrium Equations'. How the loads are actually implemented, you can see in Equation View in GUI. You will then see an expression like

solid.bndl1.FAx*test(solid.bndl1.ux)+solid.bndl1.FAy*test(solid.bndl1.uy)+solid.bndl1.FAz*test(solid.bndl1.uz)

which is the weak form contribution. So it is only the dot product between the given traction and virtual variation of the displacement.

By the way, the model that you describe seems overly complicated. It should be enough with one Solid Mechanics interface and two different materials on the two domains.

Regards,
Henrik
Hi, There are no normals involved unless the load type is 'Pressure'. Using a pressure load on an internal boundary is nothing that I would recommend, since such a load would depend on the internal selection of normal direction on such a boundary. For external boundaries, the normal always points outwards. You can find in the theory for the loads in the section 'Equation Implementation' under 'Formulation of the Equilibrium Equations'. How the loads are actually implemented, you can see in Equation View in GUI. You will then see an expression like solid.bndl1.FAx*test(solid.bndl1.ux)+solid.bndl1.FAy*test(solid.bndl1.uy)+solid.bndl1.FAz*test(solid.bndl1.uz) which is the weak form contribution. So it is only the dot product between the given traction and virtual variation of the displacement. By the way, the model that you describe seems overly complicated. It should be enough with one Solid Mechanics interface and two different materials on the two domains. Regards, Henrik

Please login with a confirmed email address before reporting spam

Posted: 7 years ago 19 juin 2017, 16:20 UTC−4
Nice discussion. What about a general internal interface with an arbitrary shape? Does COMSOL automatically impose the continuity of the traction vector on the interface if "Form Union" is chosen for the two phases? If yes, how does COMSOL do that? I could not find anything in the equation view.

Ashkan,
Nice discussion. What about a general internal interface with an arbitrary shape? Does COMSOL automatically impose the continuity of the traction vector on the interface if "Form Union" is chosen for the two phases? If yes, how does COMSOL do that? I could not find anything in the equation view. Ashkan,

Henrik Sönnerlind COMSOL Employee

Please login with a confirmed email address before reporting spam

Posted: 7 years ago 21 juin 2017, 02:33 UTC−4
Hi,

When 'Form Union' is used, the continuity between domains is exactly the same as within domains. That is, displacements are continuous between elements, while strains, stresses, and tractions are not.

During postprocessing you may experience a difference, depending on the setting of 'Smoothing' in the 'Quality' section of for example a surface plot.

Regards,
Henrik.
Hi, When 'Form Union' is used, the continuity between domains is exactly the same as within domains. That is, displacements are continuous between elements, while strains, stresses, and tractions are not. During postprocessing you may experience a difference, depending on the setting of 'Smoothing' in the 'Quality' section of for example a surface plot. Regards, Henrik.

Please login with a confirmed email address before reporting spam

Posted: 7 years ago 21 juin 2017, 02:44 UTC−4
Thanks for your reply. I am pretty sure that the displacements are continuous at the interface as you suggested. What I am concerned about is the continuity of the traction vector at the interface, i.e.,

[[\sigma\dot \hat{n}]]=0, (zero jump), where \hat{n} is the unit normal vector at the interface and \sigma is the Cauchy stress tensor.

Ashkan,
Thanks for your reply. I am pretty sure that the displacements are continuous at the interface as you suggested. What I am concerned about is the continuity of the traction vector at the interface, i.e., [[\sigma\dot \hat{n}]]=0, (zero jump), where \hat{n} is the unit normal vector at the interface and \sigma is the Cauchy stress tensor. Ashkan,

Henrik Sönnerlind COMSOL Employee

Please login with a confirmed email address before reporting spam

Posted: 7 years ago 21 juin 2017, 07:51 UTC−4
Updated: 7 years ago 21 juin 2017, 07:53 UTC−4
Hi,

The traction vector is *never* continuous, not even within domains. As I said in my previous post, there is no difference between element borders inside domains and between domains.

It is a displacement based FE formulation. Stresses (and thus tractions) are computed from displacement gradients which are not continuous.

Regards,
Henrik
Hi, The traction vector is *never* continuous, not even within domains. As I said in my previous post, there is no difference between element borders inside domains and between domains. It is a displacement based FE formulation. Stresses (and thus tractions) are computed from displacement gradients which are not continuous. 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.