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.

Pull In Example Provided in the Model Library

Please login with a confirmed email address before reporting spam

Hello,

I have a question about the pull-in model in COMSOL 4.2a, which is entitled: Pull-in voltage for a biased resonator.

I understand the general approach but I have a few questions:

1. The separation between the resonator and the actuation electrode is around 200nm. However, the model specifies the 'yset' parameter to 100nm. I cannot figure out why 100nm? Why not 150nm? Why not 253nm? and what does it mean to specify the y-coordinate of the middle point of the resonator?

2. The other strange thing in the model, is that it uses this 100nm in determining the pull-in voltage in the Global Equations in the integration operator. I cannot see why or how? and why the expression (intop1(y)-yset)/yset is used? What does y stand for here? What would happen if I choose yset to be something other than 100nm?

3. The third and final strange thing is that the parametric sweep was set for 'yset' from 120nm to 140nm! Where did this range come from? Aren't we looking for pull-in? The pull-in will be somewhere between 60nm and 70nm (the resonator will move down not up). Didn't we set the y-coordinate of the middle point of the resonator to 100nm as in point 1 above. It seems that I don't understand point 1 and as such I am failing to understand the rest of the tutorial.
Any feedback will be appreciated.

Thanks.

Amro

11 Replies Last Post 29 nov 2016, 04:57 GMT-5

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 6 giu 2012, 11:49 GMT-4
Hi Amro, thank you for your comments.

Some general background to this problem. In this example COMSOL is used to find the pull in voltage of a clamped clamped beam. The approach used can be thought of in the following way:

1. Choose a value, yset, for the y coordinate of the mid point of the beam. In this example the gap is in the y-direction, so setting the y-coordinate for this point is the same as specifying the lowest point on the underside of the beam,

2. Make COMSOL ramp up the voltage applied to the beam until that y coordinate is reached. In COMSOL this is done by a global equation. The integration operator: intop1(y) returns the y coordinate at a specific point in the geometry (determined when setting up the operator). We want to change the voltage on the beam until we reach this set point. What is needed is a global variable VdcSP to specify the voltage we apply. Then we need an equation to set the variable. In this case we use a slightly counter-intuitive equation as VdcSP does not appear in the equation. Instead we use as the equation for VdcSP: intop1(y)=yset or intop1(y)-yset =0. This tells COMSOL to change VdcSP until intop1(y)-yset =0, that is until the height of the mid point of the beam (intop1(y)) is equal to the value we want to set it to (yset). In the undeformed geometry the y-cordinate of the base of the gap is 0, and that of the top of the beam mid-point is 198.5 [nm]. When we set yset to 120[nm], for example, we are asking COMSOL to change the applied voltage until it finds a solution where the maximum displacement of the beam is 78.5[nm]. We re-scale the equation by dividing it by yset because the voltages we want to apply are of order 1[V], whilst the displacements are of order 1e-6[m]. This difference in scale would cause problems for the solver, so we specify (intop1(y)-yset)/yset =0 as the equation for VdcSP.

3. Now we try to solve the problem for several values of yset. When we use the parametric solver it will swap out the value of any parameter in the model and solve the equations with that parameter. In this case it is a little confusing as although we set up yset initially as 100[nm] we never actually solve for that value of yset (we will change this in subsequent versions of this model). We pick a range of values between 120nm and 140nm in this case. Why pick these values? We know pull in occurs at when the beam has moved approximately 1/3 the size of the gap. The gap is 198.5[nm], 1/3 of this is approximately 66[nm] so we expect the pull in to occur when the mid point of the beam has a y coordinate of around 132[nm].

4. The solver works through the problem, finding the value of VdcSP required to get the y-displacements we set. Let's imagine that we start with yset at 140[nm] and progressively reduce yset - that is increase the displacement of the beam. Initially the voltage required (VdcSP) will progressively increase - that is we need more voltage to generate the more displacement. However at a certain point, the pull-in voltage will be reached. At this point the voltage required to achieve further displacement (i.e. to further decrease intop1(y)) is less. However the problem still has a well defined stationary solution (in this case it is unstable) so the solver will work. Instead of generating a solver error at pull-in we generate a curve with a well defined minimum. The minimum of the curve is the pull in voltage.

Please let me know if this helps with your question. If this text is useful I will add it to subsequent versions of the model.
Hi Amro, thank you for your comments. Some general background to this problem. In this example COMSOL is used to find the pull in voltage of a clamped clamped beam. The approach used can be thought of in the following way: 1. Choose a value, yset, for the y coordinate of the mid point of the beam. In this example the gap is in the y-direction, so setting the y-coordinate for this point is the same as specifying the lowest point on the underside of the beam, 2. Make COMSOL ramp up the voltage applied to the beam until that y coordinate is reached. In COMSOL this is done by a global equation. The integration operator: intop1(y) returns the y coordinate at a specific point in the geometry (determined when setting up the operator). We want to change the voltage on the beam until we reach this set point. What is needed is a global variable VdcSP to specify the voltage we apply. Then we need an equation to set the variable. In this case we use a slightly counter-intuitive equation as VdcSP does not appear in the equation. Instead we use as the equation for VdcSP: intop1(y)=yset or intop1(y)-yset =0. This tells COMSOL to change VdcSP until intop1(y)-yset =0, that is until the height of the mid point of the beam (intop1(y)) is equal to the value we want to set it to (yset). In the undeformed geometry the y-cordinate of the base of the gap is 0, and that of the top of the beam mid-point is 198.5 [nm]. When we set yset to 120[nm], for example, we are asking COMSOL to change the applied voltage until it finds a solution where the maximum displacement of the beam is 78.5[nm]. We re-scale the equation by dividing it by yset because the voltages we want to apply are of order 1[V], whilst the displacements are of order 1e-6[m]. This difference in scale would cause problems for the solver, so we specify (intop1(y)-yset)/yset =0 as the equation for VdcSP. 3. Now we try to solve the problem for several values of yset. When we use the parametric solver it will swap out the value of any parameter in the model and solve the equations with that parameter. In this case it is a little confusing as although we set up yset initially as 100[nm] we never actually solve for that value of yset (we will change this in subsequent versions of this model). We pick a range of values between 120nm and 140nm in this case. Why pick these values? We know pull in occurs at when the beam has moved approximately 1/3 the size of the gap. The gap is 198.5[nm], 1/3 of this is approximately 66[nm] so we expect the pull in to occur when the mid point of the beam has a y coordinate of around 132[nm]. 4. The solver works through the problem, finding the value of VdcSP required to get the y-displacements we set. Let's imagine that we start with yset at 140[nm] and progressively reduce yset - that is increase the displacement of the beam. Initially the voltage required (VdcSP) will progressively increase - that is we need more voltage to generate the more displacement. However at a certain point, the pull-in voltage will be reached. At this point the voltage required to achieve further displacement (i.e. to further decrease intop1(y)) is less. However the problem still has a well defined stationary solution (in this case it is unstable) so the solver will work. Instead of generating a solver error at pull-in we generate a curve with a well defined minimum. The minimum of the curve is the pull in voltage. Please let me know if this helps with your question. If this text is useful I will add it to subsequent versions of the model.

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 7 giu 2012, 02:33 GMT-4
Thanks James, your response is excellent. I think I have the model completely figured out.

1. Most of the confusion was caused (I think), because the first model provided in this series, which is the stationary deflection of a resonator, indicated that the sacrificial layer is 1.985um thick. However, by taking a close look at the model, you will find that the sacrificial layer is 0.1985um thick. I think it is a mistake there. Obviously, 1/3 of 1.985um is ~0.66um. However, the pull-in model found the pull in to be around 0.07um, which was the confusing part. After I checked the geometry, I realized that there is a factor of 10 missing somewhere.

2. As for defining yset=100nm. You are right. You don't use it and you don't need to define anything in the first place. I solved the problem by defining yset a value of yset also. The model solved with no problems. Thanks for also clarifying the significance of normalizing inop1(y) - yset by yset, which is to have the voltage and the deflection in the same range. I should have thought of that!

3. The only remaining thing that I would like you to comment further on is the solution that COMSOL finds beyond pull-in. You mention that COMSOL finds a stationary solution despite that the solution is not stable in that range. Can we trust these results? What is it that COMSOL exactly solves for at this unstable region? What is it that converges? Please elaborate on that further.

And certainly, what you have mentioned in your reply should be included in the future versions of the model. It makes things very clear.

Amro
Thanks James, your response is excellent. I think I have the model completely figured out. 1. Most of the confusion was caused (I think), because the first model provided in this series, which is the stationary deflection of a resonator, indicated that the sacrificial layer is 1.985um thick. However, by taking a close look at the model, you will find that the sacrificial layer is 0.1985um thick. I think it is a mistake there. Obviously, 1/3 of 1.985um is ~0.66um. However, the pull-in model found the pull in to be around 0.07um, which was the confusing part. After I checked the geometry, I realized that there is a factor of 10 missing somewhere. 2. As for defining yset=100nm. You are right. You don't use it and you don't need to define anything in the first place. I solved the problem by defining yset a value of yset also. The model solved with no problems. Thanks for also clarifying the significance of normalizing inop1(y) - yset by yset, which is to have the voltage and the deflection in the same range. I should have thought of that! 3. The only remaining thing that I would like you to comment further on is the solution that COMSOL finds beyond pull-in. You mention that COMSOL finds a stationary solution despite that the solution is not stable in that range. Can we trust these results? What is it that COMSOL exactly solves for at this unstable region? What is it that converges? Please elaborate on that further. And certainly, what you have mentioned in your reply should be included in the future versions of the model. It makes things very clear. Amro

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 12 set 2012, 06:40 GMT-4
Hello,

I'm trying to adept this example to a 3D problem. I have drawn a simple beam in 3D and I have the stationary simulation working fine. I apply a potential and compute the deflection. It takes 28 seconds, it's a small mesh.

To derive an estimate for the pull-in potentional I add a global equation solving (intop1(z)-zset)/zset
I pick the centre point of the beam for intop1.
In the stationary study I add the continuation parameter zset with range(1600[nm],400[nm],2400[nm])
I change the solver to fully coupled.

The simulation however does not converge, it is stuck at step 1.

Does anyone know how to solve this?


Hello, I'm trying to adept this example to a 3D problem. I have drawn a simple beam in 3D and I have the stationary simulation working fine. I apply a potential and compute the deflection. It takes 28 seconds, it's a small mesh. To derive an estimate for the pull-in potentional I add a global equation solving (intop1(z)-zset)/zset I pick the centre point of the beam for intop1. In the stationary study I add the continuation parameter zset with range(1600[nm],400[nm],2400[nm]) I change the solver to fully coupled. The simulation however does not converge, it is stuck at step 1. Does anyone know how to solve this?


Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 12 set 2012, 06:52 GMT-4
Hello Jaap,

I am assuming you have a fixed-fixed beam, and the actuation electrode does not span under the complete beam.



If the separation between the cantilever and the bottom electrode is say 3um. Then, the pull in should theoretically take place at 2um. However, you should make sure that you have in the 'settings tab' of the linear elastic model that the box for 'Geometric Nonlinearity - Force Linear strains' is unchecked.

I tried this problem 'linearly' and it did not converge.

Try a larger range for your parameter initially and then reduce it as you go. Try also simplifying the geometry so that it does not really affect your study. If you say that your mesh is small, try refining it also..

Remember that you are solving an inverse problem so you should expect some discrepancy and especially in 3D.

Let me know.
Hello Jaap, I am assuming you have a fixed-fixed beam, and the actuation electrode does not span under the complete beam. If the separation between the cantilever and the bottom electrode is say 3um. Then, the pull in should theoretically take place at 2um. However, you should make sure that you have in the 'settings tab' of the linear elastic model that the box for 'Geometric Nonlinearity - Force Linear strains' is unchecked. I tried this problem 'linearly' and it did not converge. Try a larger range for your parameter initially and then reduce it as you go. Try also simplifying the geometry so that it does not really affect your study. If you say that your mesh is small, try refining it also.. Remember that you are solving an inverse problem so you should expect some discrepancy and especially in 3D. Let me know.

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 12 set 2012, 07:18 GMT-4
It is as simple as that, a fixed-fixed beam in air over an electrode, the electrode is underneath all of the beam.
I couldn't draw it any simpler.
The mesh is 1420 elements, it's a bit like the cantilever example: www.comsol.com/showroom/gallery/444/

The air gap is actually 3500 nm

I can reduce the mesh to 520 elements but it still doesn't converge.

I can change the range to something that isn' much of a deflection: range(3000[nm],200[nm],3400[nm])
but no joy.


Following is from the log, I canceled the operation after 1 and a half minute. maybe it helps:
=========================
Stationary Solver 1 in Solver 1 started at 12-Sep-2012 12:16:44.
Parametric solver
Nonlinear solver
Number of degrees of freedom solved for: 23002.

Parameter zset = 3e-006.
Nonsymmetric matrix found.
Scales for dependent variables:
mod1.V: 0.0001
mod1.u: 1.3e-015
mod1.xyz: 1.3e-010
mod1.ODE1: 2.7e-011
Inconsistent pointwise unidirectional constraints found.
99 constraints are merged/removed.
Iter ErrEst Damping Stepsize #Res #Jac #Sol LinIt LinErr LinRes
Canceled
Stationary Solver 1 in Solver 1: Solution time: 93 s. (1 minute, 33 seconds)
It is as simple as that, a fixed-fixed beam in air over an electrode, the electrode is underneath all of the beam. I couldn't draw it any simpler. The mesh is 1420 elements, it's a bit like the cantilever example: http://www.comsol.com/showroom/gallery/444/ The air gap is actually 3500 nm I can reduce the mesh to 520 elements but it still doesn't converge. I can change the range to something that isn' much of a deflection: range(3000[nm],200[nm],3400[nm]) but no joy. Following is from the log, I canceled the operation after 1 and a half minute. maybe it helps: ========================= Stationary Solver 1 in Solver 1 started at 12-Sep-2012 12:16:44. Parametric solver Nonlinear solver Number of degrees of freedom solved for: 23002. Parameter zset = 3e-006. Nonsymmetric matrix found. Scales for dependent variables: mod1.V: 0.0001 mod1.u: 1.3e-015 mod1.xyz: 1.3e-010 mod1.ODE1: 2.7e-011 Inconsistent pointwise unidirectional constraints found. 99 constraints are merged/removed. Iter ErrEst Damping Stepsize #Res #Jac #Sol LinIt LinErr LinRes Canceled Stationary Solver 1 in Solver 1: Solution time: 93 s. (1 minute, 33 seconds)

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 12 set 2012, 07:22 GMT-4
By refine the mesh I meant, increase the number of elements not reduce it. In general, the more the elements, the more accurate the result.

Another trick that sometimes works is to use a quad-mapped mesh.

Create a quad mesh on a surface of the beam, then extrude that mesh. If you can do that throughout your model, then you can have a very good mesh and enhance your accuracy of your results.

Good luck.
By refine the mesh I meant, increase the number of elements not reduce it. In general, the more the elements, the more accurate the result. Another trick that sometimes works is to use a quad-mapped mesh. Create a quad mesh on a surface of the beam, then extrude that mesh. If you can do that throughout your model, then you can have a very good mesh and enhance your accuracy of your results. Good luck.

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 12 set 2012, 09:37 GMT-4
If I just compute for zero deflection at zero voltage I should be able to test the setup?
So by foregoing the extension > continuation. part and only solving for zset = 3500nm?

I've been able to use the global equation function in solid mechanics, finding a force for a specific displacement but the emi simulation is not working.
If I just compute for zero deflection at zero voltage I should be able to test the setup? So by foregoing the extension > continuation. part and only solving for zset = 3500nm? I've been able to use the global equation function in solid mechanics, finding a force for a specific displacement but the emi simulation is not working.

Please login with a confirmed email address before reporting spam

Posted: 9 years ago 2 feb 2015, 05:30 GMT-5
Hi,

I also have the same issue in version 4.4. Im trying to find the pull-in voltage of a very simple 2D cantilever with the Global Equation method described in the "biased_resonator_2D_pull_in" example in the model library but whenever I set the desired deflection to be >0 (but still less than where pull in should occur) the simulation does not converge. I tried many different meshes to no avail. The simulation runs as expected without the global equation (does not converge only for V>Vpull_in as expected). Is this an issue with COMSOL? The model Im using is attached.

Thanks
Hi, I also have the same issue in version 4.4. Im trying to find the pull-in voltage of a very simple 2D cantilever with the Global Equation method described in the "biased_resonator_2D_pull_in" example in the model library but whenever I set the desired deflection to be >0 (but still less than where pull in should occur) the simulation does not converge. I tried many different meshes to no avail. The simulation runs as expected without the global equation (does not converge only for V>Vpull_in as expected). Is this an issue with COMSOL? The model Im using is attached. Thanks


Please login with a confirmed email address before reporting spam

Posted: 9 years ago 9 ott 2015, 12:37 GMT-4
Hi,

I'm trying to find the pull in voltage for this device, but I can't seem to find my mistake. I have the integration method set to find the coordinate of the center of the bottom boundary of the top diaphragm, swept mesh, and fully coupled solver with a sweep over zset. Can you take a look at this and see what can be fixed?

Thanks
Hi, I'm trying to find the pull in voltage for this device, but I can't seem to find my mistake. I have the integration method set to find the coordinate of the center of the bottom boundary of the top diaphragm, swept mesh, and fully coupled solver with a sweep over zset. Can you take a look at this and see what can be fixed? Thanks


Please login with a confirmed email address before reporting spam

Posted: 9 years ago 17 dic 2015, 12:01 GMT-5
Hi Jaap Verheggen

I have the same problem as your. I follow the technique used in "Pull-in voltage for biased Resonator 3D". This technique is the same as what you did.

After many test, I see that if the beam has thickness < 1 um, the solution can not converge although I did modify the mesh to be better for thin structure.

Do you have any solution ?

Thank you
Hi Jaap Verheggen I have the same problem as your. I follow the technique used in "Pull-in voltage for biased Resonator 3D". This technique is the same as what you did. After many test, I see that if the beam has thickness < 1 um, the solution can not converge although I did modify the mesh to be better for thin structure. Do you have any solution ? Thank you


Please login with a confirmed email address before reporting spam

Posted: 8 years ago 29 nov 2016, 04:57 GMT-5
Dear Sir,

I am tried with the way you have specified here but still can to get the exact plot for the Pull In. The value of zset is half from the exact separation and the range is defined near the 1/3rd of the total gap. The plot which i get is always linear, which is not the solution for the problem. Please advice me how can i calculate the Pull In voltage.

Thanks,

Gurpreet
Dear Sir, I am tried with the way you have specified here but still can to get the exact plot for the Pull In. The value of zset is half from the exact separation and the range is defined near the 1/3rd of the total gap. The plot which i get is always linear, which is not the solution for the problem. Please advice me how can i calculate the Pull In voltage. Thanks, Gurpreet

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.