Using boundary load condition at an interface in solid mechanics module

Thread index  |  Previous thread  |  Next thread  |  Start a new discussion

RSS FeedRSS feed   |   Email notificationsTurn on email notifications   |   7 Replies   Last post: June 21, 2017 11:51am UTC
Laura Kimpton

Laura Kimpton

September 17, 2015 10:07am UTC

Using boundary load condition at an interface in solid mechanics module

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

Reply  |  Reply with Quote  |  Send private message  |  Report Abuse

Henrik Sönnerlind

Henrik Sönnerlind
COMSOL Employee
Sweden
Moderator

September 17, 2015 8:18pm UTC in response to Laura Kimpton

Re: Using boundary load condition at an interface in solid mechanics module

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

Reply  |  Reply with Quote  |  Report Abuse

Laura Kimpton

Laura Kimpton

September 18, 2015 8:52am UTC in response to Henrik Sönnerlind

Re: Using boundary load condition at an interface in solid mechanics module

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

Reply  |  Reply with Quote  |  Send private message  |  Report Abuse

Henrik Sönnerlind

Henrik Sönnerlind
COMSOL Employee
Sweden
Moderator

September 18, 2015 11:38am UTC in response to Laura Kimpton

Re: Using boundary load condition at an interface in solid mechanics module

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

Reply  |  Reply with Quote  |  Report Abuse

Ashkan Golgoon

Ashkan Golgoon

June 19, 2017 8:20pm UTC in response to Henrik Sönnerlind

Re: Using boundary load condition at an interface in solid mechanics module

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,

Reply  |  Reply with Quote  |  Send private message  |  Report Abuse

Henrik Sönnerlind

Henrik Sönnerlind
COMSOL Employee
Sweden
Moderator

June 21, 2017 6:33am UTC in response to Ashkan Golgoon

Re: Using boundary load condition at an interface in solid mechanics module

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.

Reply  |  Reply with Quote  |  Report Abuse

Ashkan Golgoon

Ashkan Golgoon

June 21, 2017 6:44am UTC in response to Henrik Sönnerlind

Re: Using boundary load condition at an interface in solid mechanics module

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,

Reply  |  Reply with Quote  |  Send private message  |  Report Abuse

Henrik Sönnerlind

Henrik Sönnerlind
COMSOL Employee
Sweden
Moderator

June 21, 2017 11:51am UTC in response to Ashkan Golgoon

Re: Using boundary load condition at an interface in solid mechanics module

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

Reply  |  Reply with Quote  |  Report Abuse


Rules and guidelines