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.

Boundary Remain at Current Position

Please login with a confirmed email address before reporting spam

Hello,

I am running a simulation of a small nanostructure (a 5 x 50 x 300 nm bar) with solid mechanics and an additional PDE. I have broken my simulation into two parts, an initial relaxation study, followed by a study in which I would like to move one end of the bar 3e-10 m in the positive x-direction, from its current position. The problem is that during the initial relaxation, the bar stretches, and ends up at a length of 300.2 nm rather than 300nm, with both ends of the bar stretched 0.1 nm from their initial position. For example, say the left end of the bar is initialized at position x_0 = 0.0 nm, and after relaxation, ends up at x_1 = -0.1 nm. I would like to displace this end of the bar from this position (x_1 = -0.1 nm) rather than from its initialized position (x_0 = 0.0 nm). I have tried this using prescribed displacement, but once the prescribed displacement takes effect, the boundary it is applied to immediately jumps to x = 0.0 nm, rather than displacing from x = -0.1 as I would like. I have also tried this using a prescribed velocity and gotten the same result. I realize that I could build the -0.1 nm into the prescribed displacement, but it would be easier if there was a way to define a "displacement from current position". Is there any such thing in the solid mechanics module?

Thanks


1 Reply Last Post Jul 6, 2020, 6:52 a.m. EDT
Henrik Sönnerlind COMSOL Employee

Please login with a confirmed email address before reporting spam

Posted: 4 years ago Jul 6, 2020, 6:52 a.m. EDT

Hi,

You can write the prescribed displacement value using an expression like

withsol('sol2',u)+0.17

That is, you pick up the displacement from a previous study step, and then add the intended prescribed displacement to it.

-------------------
Henrik Sönnerlind
COMSOL
Hi, You can write the prescribed displacement value using an expression like withsol('sol2',u)+0.17 That is, you pick up the displacement from a previous study step, and then add the intended prescribed displacement to it.

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.