This website uses cookies to function and to improve your experience. By continuing to use our site, you agree to our use of cookies.

**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.

## How to find the point-by-point distance between 2 beams

Posted Sep 10, 2010, 6:28 PM EDT 5 Replies

Please login with a confirmed email address before reporting spam

So my problem is, how can I specify this force in Comsol? Or specifically, how can I find the expression for point-by-point distance so I can use that expression in my force formula. I guess I can define like 100 pairs of points along the two beams and specify the force on each point manually, but I believe there should be an easier way to do this. Maybe something to do with pairs but I don't know.

Thank you in advanced.

Attachments:

Please login with a confirmed email address before reporting spam

before discusssing "how to in Comsol" you should perhaps think more over your model. Are you attempting a simple physics approach and want to add spme specific force functions yourself, or are you thinking of doing a "multiphysics" simulation, where the force is driven anoher "physics" than the structural ones (i.e. electrostatic, magnetic ...) ?

And second question, I find it difficult to believe you force i only due to the nearest point between the two bars, isnt it rather that for all dy the force is the integration of normal force component over the full length of the other beam ? (use the integration coupling variables)

If you want to do it in the multiphyics approach, you need to add the second physics, define the model parameters and then solve either both together or "together segregated" to improve convergence or computing time to solve

If you want to stay in one physics (structural) then you need to define a force as a function of an integration coupling variable, and get the vector components while using the local normal and tangential vectors

Both are in my mind perfectly valuable ways, it all dependes on your desire and how you define your model.

Main suggestion: start simple with one physics at a time and then only couple them, but this might well be what you are attempting anyhow ;)

--

Good luck

Ivar

Please login with a confirmed email address before reporting spam

Thank you for a very fast response. The idea of model coupling seems interesting. I have been trying to find an example in model library that makes use of any model coupling operator but I cannot find any, can you point me to one so I can study it? I read the documentation but I don't really understand it due to lack of concrete examples.

Thank you very much.

Please login with a confirmed email address before reporting spam

Let's say I have 2 beams of silicon.

- I am in solid mechanics solving static problem.

- I put a force (called 'mypressure', defined in variables list) on the first beam and it bends, as expected.

- Now I want to put the force on the second beam, with the magnitude proportional to the displacement of the first beam.

- I start with defining a boundary similarity model coupling 'bndsim1' with the source being one face of the first beam, and the destination being one face of the second beam.

- I then define boundary load on that face of the second beam to be '-mypressure*bndsim1(v)/1e-6[m]'. The /1e-6[m] is to make the unit correct.

- At this point, the expression above (-mypressure*bndsim1(v)/1e-6[m]) is red, as if the unit is wrong (or comsol does not understand my function).

- I compute, and apparently, the load on the second beam is 0.

What's the right way to do this?

I also read www.comsol.com/community/forums/general/thread/7592/ and have similar problem on not knowing how to define the coupling (we know how to define the extrusion, but not how to extrude a variable.)

Thank you.

Attachments:

Please login with a confirmed email address before reporting spam

I need a little time to understand this, as it's not how I would go about it (which still does certainly not mean that you are doing something wrong, there are so many ways to get around with Physics hence also with COMSOL ;)

But I have a few comments/suggestions first, related to V4:

Variables versus parameters (constants):

I prefer to use Global Definition Parameters for any value that is "constant" therefore I would have defined "mypressure" as a Parameter, another advantage is that you get its value displayed too

Units:

Comsol is giving us (almost) everywhere tte units calculations, I find this very handy to check my values, as we work at so many scales that counting the "0" or the "E-nn" is easily erro-rprone. COMSOL flags unit inconcistencies by setting the equations (or eqution set for vector input) in orange, while red is for syntax typing errors, missing )] or whatever.

Now Comsol cannot always understand what we want so it might end up with funny units requeirng some handcalculation to check if correct. You can help COMSOL to choose your units by slightly modifying the one we use, such as for "mypressure" see image:

1[N]/(1[m]*2[m]) => 0.5[N*m/m^3]

while

1[Pa*m^2]/(1[m]*2[m]) => 0.5[Pa]

Then when using the / division operator with values & units, use enough brackets () as the units tend to be forgotten and the result is not always as expected (was required in V3.5, somewhat less important in V4)

In V4 there are new ways to define loads, COMSOL now can take automatically into account the surface/length on which you apply a boundary load (it adds an internal integration coupling variable) so you can as well keep the force of 10[uN] and apply it directly as a Total Force load

And last recommendation:

When adding in new BC or changing them, delete empty ones or any unecessary elements as its quickly done to have a boundary condition or some mess-up from a half filled in node. The minimum is to "disable them"

=========================

Well I have played around, the best way I see is to use a global projection variable, this is a) because your surfaces are well aligned with the global coordinate system x,y,z, b) because I have trouble remebering correctly the vertex order for the linear projections ;)

So I define a general projection variable by integrating over "z" and dividing by the beam height, hence I get the average value, that I project onto each vertical line on the destination. I then define a surface load on the second beam. To see the deflection I must normalise it and I use among other the maximum deflection of the first beam to try to get the same "v" on both (this is rather mesh dependent as the integrations are taken over the mesh so I'm using already a quite fine mesh, still it should run within <2GbRam).

You get a certain number of warnings, havent looked into these, but I suspect its because of the overconstrained beams, at von Mises > 3GPa I'm not sure you Si would survive it this stress level ;) but that's another story

I learned too that I could not use a mapped/swept mesh, the general projection integration seem to dislike these !?

Finaly the web site java does not allow me to upload the model, as I have already uploaded a file and I'm editing my previous thread (?) so pls see next reply

--

Good luck

Ivar

Attachments:

Please login with a confirmed email address before reporting spam

It does not look like the most elegant way, and still I do not understand the underlaying physics that could act like this only on the distance between the beams and not on a projection of a global source surface integration

--

Good luck

Ivar

Attachments:

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.