Note: This discussion is about an older version of the COMSOL Multiphysics® software. The information provided may be out of date.

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.

Measuring circumference of deformed ring

Please login with a confirmed email address before reporting spam

Hi,

I have a rather tricky and subtle problem to solve. I make nanophotonic optical resonators which look like a "cartwheel"--i.e. a ring/rim with spokes. The only anchoring to the substrate is in the center of the cartwheel.

Now, as this cartwheel vibrates, one of the ways it can vibrate is for the rim to flap up and down, possibly with mechanical nodes along the rim (so for example, North&South might be going up while East&West are going down, like a Pringles chip).

Turns out the light in this flapping structure is very sensitive to the path length around the circumference. So in COMSOL I need to draw the cartwheel, deform it into the desired mode shape at a given displacement, and measure the circumference.

I can draw the cartwheel and find its modes through the eigenmode solver, or alternately can apply a static force field to deform it into whatever shape I want, but now need to find the new circumference. Any ideas on how to do this?

Thanks,

David

14 Replies Last Post Feb 19, 2011, 3:42 p.m. EST
Ivar KJELBERG COMSOL Multiphysics(r) fan, retired, former "Senior Expert" at CSEM SA (CH)

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Feb 13, 2011, 3:17 a.m. EST
Hi

arent you in fact saying you need to integrate the length of your boundary ?

that is simply a integration operator of integrand "1" over the selected boundaries

Remains if you are integrating on the original un-deformed or the final deformed region. That is normally obtained be selecting the "Frame". In V4 structural the spatial Frame is by default set on (off in 3.5a, check physics properties). So check that you operand is referring to the correct frame and it done.

Note: if you do an eigenfrequency analysis, the amplitudes are normalised, but not necessarily one w.r.t. the other. I always use the new V4 feature (set in eigenfrequency solver node) to use the participation mass normalisation, at least then you can compare the emplitudes between the shapes and modes, in a realtive scaled way. Absolute scales depend on damping and energy used to generate the mode shape (generally far more trickier to define entrer on the BC's)

If you look at gravity sag etc, the deformations are absolute and related to the input load

--
Good luck
Ivar
Hi arent you in fact saying you need to integrate the length of your boundary ? that is simply a integration operator of integrand "1" over the selected boundaries Remains if you are integrating on the original un-deformed or the final deformed region. That is normally obtained be selecting the "Frame". In V4 structural the spatial Frame is by default set on (off in 3.5a, check physics properties). So check that you operand is referring to the correct frame and it done. Note: if you do an eigenfrequency analysis, the amplitudes are normalised, but not necessarily one w.r.t. the other. I always use the new V4 feature (set in eigenfrequency solver node) to use the participation mass normalisation, at least then you can compare the emplitudes between the shapes and modes, in a realtive scaled way. Absolute scales depend on damping and energy used to generate the mode shape (generally far more trickier to define entrer on the BC's) If you look at gravity sag etc, the deformations are absolute and related to the input load -- Good luck Ivar

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Feb 14, 2011, 3:26 p.m. EST
Thanks.

I only have Comsol v3.5 through my University, so unfortunately I don't have access to the v4 functions you mentioned. :-(

I am using the smdrm module rather than plane-stress or plane-strain because I want to see the out-of-plane flapping modes of the cartwheel.

(a) Should I be using Mindlin Plate (smdrm) module for this kind of problem (i.e. where I want to see the flapping modes of a cartwheel shape supported in the middle).

(b) while plane-stress and plane-strain let me change the Frame to "(ref)" and back again (under physics properties), the Mindlin Plate module does not have this option under physics properties.

(c) When I do Postprocessing > Boundary Integration, and integrate "1" over the circumference, it doesn't matter which mode I choose, I always get 2*pi*radius. This of course tells me I am integrating the undeformed shape. Given the problem in (b) above, how do I integrate over the deformed shape?

(d) I wonder if there is a way for me to still do the mode-to-mode amplitude normalization you described, even though I only have access to 3.5a? (By which I mean, using the "participation mass normalisation" you described.)

Thanks so much,

David
Thanks. I only have Comsol v3.5 through my University, so unfortunately I don't have access to the v4 functions you mentioned. :-( I am using the smdrm module rather than plane-stress or plane-strain because I want to see the out-of-plane flapping modes of the cartwheel. (a) Should I be using Mindlin Plate (smdrm) module for this kind of problem (i.e. where I want to see the flapping modes of a cartwheel shape supported in the middle). (b) while plane-stress and plane-strain let me change the Frame to "(ref)" and back again (under physics properties), the Mindlin Plate module does not have this option under physics properties. (c) When I do Postprocessing > Boundary Integration, and integrate "1" over the circumference, it doesn't matter which mode I choose, I always get 2*pi*radius. This of course tells me I am integrating the undeformed shape. Given the problem in (b) above, how do I integrate over the deformed shape? (d) I wonder if there is a way for me to still do the mode-to-mode amplitude normalization you described, even though I only have access to 3.5a? (By which I mean, using the "participation mass normalisation" you described.) Thanks so much, David

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Feb 14, 2011, 3:27 p.m. EST

Ivar KJELBERG COMSOL Multiphysics(r) fan, retired, former "Senior Expert" at CSEM SA (CH)

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Feb 14, 2011, 3:38 p.m. EST
Hi

d) I gave up, as most of my models produced so large matrices that matlab didnt manage to read/process them
c) good remark, if you cannot use the deformed frame you could try via deformed frame x,y,z definition that is given from material frame X,Y,Z (note: v4 notation) as first approx.: x=X+u, y=Y+v etc
Test it out in 3.5 with a structural part usign the reference frame
b) not all physics have this option indeed (especially in 3.5)
a) I believe you are right, but if I were you, I would run a simple test to be sure: comparing a simple 3D model with an equivalent MidLine shell model

--
Good luck
Ivar
Hi d) I gave up, as most of my models produced so large matrices that matlab didnt manage to read/process them c) good remark, if you cannot use the deformed frame you could try via deformed frame x,y,z definition that is given from material frame X,Y,Z (note: v4 notation) as first approx.: x=X+u, y=Y+v etc Test it out in 3.5 with a structural part usign the reference frame b) not all physics have this option indeed (especially in 3.5) a) I believe you are right, but if I were you, I would run a simple test to be sure: comparing a simple 3D model with an equivalent MidLine shell model -- Good luck Ivar

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Feb 14, 2011, 4:55 p.m. EST
Thanks.

I have tried a lot of things and am giving up on the flapping mode thing until I can get v4.

However I need *something* to work :-), so I switched to Plane Stress because it has the ability to switch Frame to "ref" and back. And now I am instead only looking at the "radial breathing modes" of the same 2D cartwheel structure, because these are relevant in Plane Stress mode. A breathing mode is a radial expansion mode.

I wish to measure the circumference of both the deformed and undeformed shape again.

Initially for the undeformed shape:
I click Physics > Properties > Create Frame > Off (this is the default)
Then I run the simulation.
Then I integrate "1" over the boundary.
This gives me 2*pi*radius for all modes, so this is the undeformed shape.

Next I try to switch to the deformed shape
First I click Physics > Properties > Create Frame > On.
Then click Physics > Properties > [and this time it shows a new option: ] "Frame (ref)" which is the default
Then I run the simulation
This gives me really bizarre results. It seems to extend the computation region far beyond the simple cartwheel I drew, indicated by a mash of colors both inside and outside the cartwheel. It's as if the Create Frame thing has created some kind of boundary way larger than my object (on the order of 1 meter, while my object is 1e-4 m across), and now the coloring extends out to that boundary. There is no drawn object that large, so I really don't know what it is doing.

One last thing to try, so I try it:
First I click Physics > Properties > Create Frame > On.
Then click Physics > Properties > "Frame (deform)"
Then I run the simulation.
This time it gives me the error: "Error: 6349. Syntax error in low-level element syntax representation - Name: elmesh. Sdimreftag same as frame." I tried googling for help on this error but no luck.


Note: I am using:
Lagrange - Quadratic
Large Deformation = Off
Weak Constraints = Off
Constraint type = ideal

Thanks,
David
Thanks. I have tried a lot of things and am giving up on the flapping mode thing until I can get v4. However I need *something* to work :-), so I switched to Plane Stress because it has the ability to switch Frame to "ref" and back. And now I am instead only looking at the "radial breathing modes" of the same 2D cartwheel structure, because these are relevant in Plane Stress mode. A breathing mode is a radial expansion mode. I wish to measure the circumference of both the deformed and undeformed shape again. Initially for the undeformed shape: I click Physics > Properties > Create Frame > Off (this is the default) Then I run the simulation. Then I integrate "1" over the boundary. This gives me 2*pi*radius for all modes, so this is the undeformed shape. Next I try to switch to the deformed shape First I click Physics > Properties > Create Frame > On. Then click Physics > Properties > [and this time it shows a new option: ] "Frame (ref)" which is the default Then I run the simulation This gives me really bizarre results. It seems to extend the computation region far beyond the simple cartwheel I drew, indicated by a mash of colors both inside and outside the cartwheel. It's as if the Create Frame thing has created some kind of boundary way larger than my object (on the order of 1 meter, while my object is 1e-4 m across), and now the coloring extends out to that boundary. There is no drawn object that large, so I really don't know what it is doing. One last thing to try, so I try it: First I click Physics > Properties > Create Frame > On. Then click Physics > Properties > "Frame (deform)" Then I run the simulation. This time it gives me the error: "Error: 6349. Syntax error in low-level element syntax representation - Name: elmesh. Sdimreftag same as frame." I tried googling for help on this error but no luck. Note: I am using: Lagrange - Quadratic Large Deformation = Off Weak Constraints = Off Constraint type = ideal Thanks, David

Ivar KJELBERG COMSOL Multiphysics(r) fan, retired, former "Senior Expert" at CSEM SA (CH)

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Feb 15, 2011, 2:28 a.m. EST
Hi

v3.5 is getting old in my mind but, when you switch on the deformed frame in structural, then you get also an option to chose the frame in the integration coupling variables. So it's better to leave it "on" and define your integrations on either one or the other frames (this you must do systematically in V4, be aware !)

Then if you use the deformed frame on, do not forget to turn "OFF" the Plot deformations as these are already there in the deformed frame !

And when I have a doubt about 2D models I always make a simple 3D model and compare with the shell and other 2D models to be sure I understand the links and differences (Now I like to visualise to understand, others do not need to)

--
Good luck
Ivar
Hi v3.5 is getting old in my mind but, when you switch on the deformed frame in structural, then you get also an option to chose the frame in the integration coupling variables. So it's better to leave it "on" and define your integrations on either one or the other frames (this you must do systematically in V4, be aware !) Then if you use the deformed frame on, do not forget to turn "OFF" the Plot deformations as these are already there in the deformed frame ! And when I have a doubt about 2D models I always make a simple 3D model and compare with the shell and other 2D models to be sure I understand the links and differences (Now I like to visualise to understand, others do not need to) -- Good luck Ivar

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Feb 17, 2011, 2:58 p.m. EST
OK. So I finally got access to v4.0a. My University had it all along but weren't installing it because professors have all of their class material written for v3.5.

So, back to zero. I simulated this cartwheel (actually not a cartwheel, just a simpler solid disk clamped in the center) in two ways:
1) in 2D > Structural mechanics > Plate (plate)
2) in 3D > Structural mechanics > Solid Mechanics (solid)
In both I run in to the same problems.

I find the modes I want just fine using Eigenfrequency solver. Now I need to do two things. Copying and pasting from what you said,
a) "use the new V4 feature (set in eigenfrequency solver node) to use the participation mass normalisation, at least then you can compare the emplitudes between the shapes and modes."
b) "[integrate on] the final deformed region [rather than the un-deformed region]. That is normally obtained by selecting the "Frame". In V4 structural the spatial Frame is by default set on .... So check that you operand is referring to the correct frame and it done."


OK, I'm sorry!, I have spent the last two days doing tutorials to learn v4, and tried to do this myself for a while now, but am still having trouble.

For (a):
I look under Model Builder > Study 1 > and look under all of the sub-nodes (Step 1: Eigenfrequency, Solver Configurations, Job Configurations, and sub-sub-nodes etc) and don't see Participation Mass Normalization or anything similar. I also searched the docs for "participation mass" and "mass normalization" and it didn't return anything.


For (b):
I set up the integral (Model Builder > Results > Right click on Derived Values > Line Integration, set an integrand of 1) and get the same number for each mode (equal to 2*pi*radius) to 17 significant digits (14 decimal places) (The way I view that many decimal places is to press the "Full Precision" button on the Results window toolbar. So it is calculating the undeformed circumference. The only place I found to change the frame is inside of Model Builder > Results > Data Sets > Solution 1, and in the Settings window it says Frame, where you can pick Material, Spatial, or Mesh. It makes sense to me that "Spatial" should be the undeformed frame and "Material" should be the deformed frame. However none of these three options, when I select it and Compute again, gives anything different. Each integral result is still the same for all modes and still equal to 2*pi*radius up to 17 significant digits. Puzzling!


Thanks,
OK. So I finally got access to v4.0a. My University had it all along but weren't installing it because professors have all of their class material written for v3.5. So, back to zero. I simulated this cartwheel (actually not a cartwheel, just a simpler solid disk clamped in the center) in two ways: 1) in 2D > Structural mechanics > Plate (plate) 2) in 3D > Structural mechanics > Solid Mechanics (solid) In both I run in to the same problems. I find the modes I want just fine using Eigenfrequency solver. Now I need to do two things. Copying and pasting from what you said, a) "use the new V4 feature (set in eigenfrequency solver node) to use the participation mass normalisation, at least then you can compare the emplitudes between the shapes and modes." b) "[integrate on] the final deformed region [rather than the un-deformed region]. That is normally obtained by selecting the "Frame". In V4 structural the spatial Frame is by default set on .... So check that you operand is referring to the correct frame and it done." OK, I'm sorry!, I have spent the last two days doing tutorials to learn v4, and tried to do this myself for a while now, but am still having trouble. For (a): I look under Model Builder > Study 1 > and look under all of the sub-nodes (Step 1: Eigenfrequency, Solver Configurations, Job Configurations, and sub-sub-nodes etc) and don't see Participation Mass Normalization or anything similar. I also searched the docs for "participation mass" and "mass normalization" and it didn't return anything. For (b): I set up the integral (Model Builder > Results > Right click on Derived Values > Line Integration, set an integrand of 1) and get the same number for each mode (equal to 2*pi*radius) to 17 significant digits (14 decimal places) (The way I view that many decimal places is to press the "Full Precision" button on the Results window toolbar. So it is calculating the undeformed circumference. The only place I found to change the frame is inside of Model Builder > Results > Data Sets > Solution 1, and in the Settings window it says Frame, where you can pick Material, Spatial, or Mesh. It makes sense to me that "Spatial" should be the undeformed frame and "Material" should be the deformed frame. However none of these three options, when I select it and Compute again, gives anything different. Each integral result is still the same for all modes and still equal to 2*pi*radius up to 17 significant digits. Puzzling! Thanks,

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Feb 17, 2011, 3:18 p.m. EST
OK hold on, I spoke too soon. What I said for (b) was correct for model "1)", meaning, the 2D version, but not for model "2)", the 3D version. Both models model the same thing as described in my previous post.

Instead, in the 3D model of a thin circular wheel shape fixed near the center, when I switch from Material Frame to Spatial Frame (in Model Builder > Results > Data Sets > Solution 1 > Settings > Frame I see an absolutely gigantic structure that looks like two huge needles (size is 10^4 meters, where my simple disk is 100 um order of magnitude). Problem is I can't decode this strange result because I am not sure exactly what I'm doing when I select Spatial Frame.

But nonetheless I try to calculate circumference using the integral I set up before. And because there's this huge wacky needle thing on my screen of course it gives unintelligible results, pasted below.

Note that I am 100% sure I have drawn nothing else, just a disk that is fixed at the center, and there's no problem with the solver because it finds the eigenmodes just fine.

Here are the "circumference" values for 100 um disk. As you can see, the middle column shows the Material Frame, which is 314. ... um as expected, and the third column shows wacky results from the Spatial Frame.

Eigenfrequency Circumference (um) Circumference (um)
252391.75320385315 314.1592635789951 1.623440559667125E7
252462.48315567407 314.1592635789951 1.623689285870829E7
265124.98324808246 314.1592635789951 188918.80606117373
359226.26757419156 314.1592635789951 3.3520359322243933E7
359713.9581758728 314.1592635789951 3.315969456982925E7
704074.5855321788 314.1592635789951 5.27017283435382E7
704143.1352933468 314.1592635789951 5.254816078817571E7
1212816.8157309121 314.1592635789951 7.357123363177405E7
1212916.2134378508 314.1592635789951 7.453843246225077E7
1684257.0879518734 314.1592635789951 558011.9502628692
OK hold on, I spoke too soon. What I said for (b) was correct for model "1)", meaning, the 2D version, but not for model "2)", the 3D version. Both models model the same thing as described in my previous post. Instead, in the 3D model of a thin circular wheel shape fixed near the center, when I switch from Material Frame to Spatial Frame (in Model Builder > Results > Data Sets > Solution 1 > Settings > Frame I see an absolutely gigantic structure that looks like two huge needles (size is 10^4 meters, where my simple disk is 100 um order of magnitude). Problem is I can't decode this strange result because I am not sure exactly what I'm doing when I select Spatial Frame. But nonetheless I try to calculate circumference using the integral I set up before. And because there's this huge wacky needle thing on my screen of course it gives unintelligible results, pasted below. Note that I am 100% sure I have drawn nothing else, just a disk that is fixed at the center, and there's no problem with the solver because it finds the eigenmodes just fine. Here are the "circumference" values for 100 um disk. As you can see, the middle column shows the Material Frame, which is 314. ... um as expected, and the third column shows wacky results from the Spatial Frame. Eigenfrequency Circumference (um) Circumference (um) 252391.75320385315 314.1592635789951 1.623440559667125E7 252462.48315567407 314.1592635789951 1.623689285870829E7 265124.98324808246 314.1592635789951 188918.80606117373 359226.26757419156 314.1592635789951 3.3520359322243933E7 359713.9581758728 314.1592635789951 3.315969456982925E7 704074.5855321788 314.1592635789951 5.27017283435382E7 704143.1352933468 314.1592635789951 5.254816078817571E7 1212816.8157309121 314.1592635789951 7.357123363177405E7 1212916.2134378508 314.1592635789951 7.453843246225077E7 1684257.0879518734 314.1592635789951 558011.9502628692

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Feb 17, 2011, 3:46 p.m. EST
I wanted to attach images of what I mean when I say "two large needles." I know, this is super weird, I wish I understood what I'm looking at.
I wanted to attach images of what I mean when I say "two large needles." I know, this is super weird, I wish I understood what I'm looking at.


Ivar KJELBERG COMSOL Multiphysics(r) fan, retired, former "Senior Expert" at CSEM SA (CH)

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Feb 17, 2011, 4:02 p.m. EST
Hi

Well I'm sorry to hear that you have only 4.0a as that was provided more than a year ago, and you definitively need to get the 4.1 + patches (the latter are on the main web site of COMSOL. Be aware v4.0 was an early version with several weakness

I believe the eigenvalue "participation mass" arrived only in v4.1 (so you would have to live without, for the time being)

Then for the frames, its the opposite: the spatial frame is on by default in V4 and it is the deformed frame. The material frame is the original one of the drawn geometry (by default its plotted as a wire frame on all surface/volume plots. To access the material frame you use upper case letters X,Y,Z and spatial has lower case letters. Your solution is normally in the material frame, so if you do a postprocessing (Results node) integration, you do it on the solution defined frame. While if you define an integration operator in the Definition right click Model coupling you can chose the frame to operate on. You can then use the Results Derived Values Global Evaluation to perform an integration with the previously defined integration operator that will distinguish the two frame values, if you define two operators one on each frame (hope its clear)

--
Good luck
Ivar
Hi Well I'm sorry to hear that you have only 4.0a as that was provided more than a year ago, and you definitively need to get the 4.1 + patches (the latter are on the main web site of COMSOL. Be aware v4.0 was an early version with several weakness I believe the eigenvalue "participation mass" arrived only in v4.1 (so you would have to live without, for the time being) Then for the frames, its the opposite: the spatial frame is on by default in V4 and it is the deformed frame. The material frame is the original one of the drawn geometry (by default its plotted as a wire frame on all surface/volume plots. To access the material frame you use upper case letters X,Y,Z and spatial has lower case letters. Your solution is normally in the material frame, so if you do a postprocessing (Results node) integration, you do it on the solution defined frame. While if you define an integration operator in the Definition right click Model coupling you can chose the frame to operate on. You can then use the Results Derived Values Global Evaluation to perform an integration with the previously defined integration operator that will distinguish the two frame values, if you define two operators one on each frame (hope its clear) -- Good luck Ivar

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Feb 17, 2011, 6:45 p.m. EST
Thanks Ivar,

Still have questions, sorry.

So you say there are two ways of calculating an integral around the circumference:

1) Model Builder > Definitions > Right click and add Integration
I do this using the following settings:
Operator name: intsf (meaning, integral on the spatial frame. I have also tried material frame.)
Edge
Manual (and I manually select the circumference
Then go to Model Builder > Results > Right click on Derived Values and add Global Evaluation. Under settings put the same expression ("intsf" without the quotes)
Compute
Right click on Global Evaluation and select Evaluate in New Table. It says "failed to evaluate variable" and then lists the intsf variable.

This seems pretty simple, I don't know where I'm going wrong.

2) Second way you say of doing the integral is what I was doing before. Model Builder > Results > Right click Derived Values and add Line Integration.
Under Settings, choose Expression = 1 and select the perimeter of the circle.
Now, lastly I need to tell it to use the spatial frame. The only place I've found this, so I presume it is correct, is under Model Builder > Results > Data Sets > Solution 1, and for "Frame" I change it from Material to Spatial.
Compute.
Right click Line Integration and select Evaluate in New Table. It does the behavior I described before, (instead of showing my nice simple disk it shows the bizarre needle structure which I attached images of before. In addition the circumference values are ridiculous (1E7 microns for a 100 micron diameter disk)

Any ideas?

Thanks Ivar, you're a trooper.
Thanks Ivar, Still have questions, sorry. So you say there are two ways of calculating an integral around the circumference: 1) Model Builder > Definitions > Right click and add Integration I do this using the following settings: Operator name: intsf (meaning, integral on the spatial frame. I have also tried material frame.) Edge Manual (and I manually select the circumference Then go to Model Builder > Results > Right click on Derived Values and add Global Evaluation. Under settings put the same expression ("intsf" without the quotes) Compute Right click on Global Evaluation and select Evaluate in New Table. It says "failed to evaluate variable" and then lists the intsf variable. This seems pretty simple, I don't know where I'm going wrong. 2) Second way you say of doing the integral is what I was doing before. Model Builder > Results > Right click Derived Values and add Line Integration. Under Settings, choose Expression = 1 and select the perimeter of the circle. Now, lastly I need to tell it to use the spatial frame. The only place I've found this, so I presume it is correct, is under Model Builder > Results > Data Sets > Solution 1, and for "Frame" I change it from Material to Spatial. Compute. Right click Line Integration and select Evaluate in New Table. It does the behavior I described before, (instead of showing my nice simple disk it shows the bizarre needle structure which I attached images of before. In addition the circumference values are ridiculous (1E7 microns for a 100 micron diameter disk) Any ideas? Thanks Ivar, you're a trooper.

Ivar KJELBERG COMSOL Multiphysics(r) fan, retired, former "Senior Expert" at CSEM SA (CH)

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Feb 18, 2011, 2:27 a.m. EST
Hi

one thing to learn in V4, in the definition node you DEFINE an operator that you shall apply onto ssome variable somewhere else in COMSOL. To get the length of and edhe you apply your operator on the operand "1" i.e. intop1(1).

This means in COMSOL implicit language (I haven't seen this documented though):

select one by one and SUM over the "Entities" (= FEM domains, boundaries edges or points whatever that applies) and integrate the operand given *dxdydz (in 3D) or dx*dy (in 2D) or dz*dr (in 2D-axi) or dx (in 1D) or ds (s= is the edge variable going from 0 to 1 along the edge in the sens of the arrow) etc

This requires some thinking and playing, once you master this implicit way of COMSOL then it becomes far easier

Take another example, you want to calculate the mass of two blocks in 3D of id "1" and "2":

First start COMSOL: 3D, Structural, Stationary solver, right click "Geometry" add a default block (default 1m^3), right click again and add a second block, this time size:0.5x0.5x0.5[m^3], position corner <0,0,1>. Select material and enter E=1E6, nu=0,2, rho =2000 (a fictitious soft material). Add boundary conditions Fixed on boundary "1" (the lateral side to the left (yz plane).

Then you define an integration operator intop1 (Definitions + Model Couplings + Integration) on All Domains and Spatial Frame, and a second one on the Material frame (intop2) (use the Right Click + Duplicate, BUT be aware the name is also duplicated and this name must be unique so call it intop2)

Now you can ask yourself what will be different between the material and the spatial frames? assume you blocks see gravity load and are very soft ... you can try a simple example too to confirm your intuition)

So lets set up gravity along -Z: select Solid node + right click + Body load + All domains + enter in Fv "z"

-g_const*solid.rho (g_const =9.81[m/s^2] in Comsol)

Its in N/m^3 (what does this really mean ?)

In fact the field you enter is what applies to EACH element of size dx*dy*dz and it is integrated over EACH DOMAIN (= volumes) and summed over ALL domains

sim_over_"i" (integration_over_each_entity (-g_const*solid.rho_"i") *dx*dy*dz

Now I added an _"i" on the rho, density, because this is dependent on each domain (these may change domain by domain, so it's NOT a constant that you may take out of the integration. Note that this implicit over_"i" is not written out and is also everywhere in COMSOL

Lets continue:
Then you need to populate your matrices, you have defined a geometry, a material & structural physics select and defined a stationary analysis.
Select the Study 1, - Solver Configuration and Right click + Show Default Solver, this builds up a default solver sequence.
Find the Dependent Variables node + Right-click + Compute to selected. This will use your initial conditions and prepare the model (no solving required). Now you can go to the Results + Derived Values right click + Expression:
intop1(1) and hit the "=" to populate your "Table".

Duplicate your Global evaluation and integrate intop2(1) (I get 1.125m^3. Check that you get the same results (as we have not solved there is no deformations.

Duplicate your Global evaluation again and write intop1(solid.rho) (THINK implicit over_"i" of the Domains) I get 2250 kg, NOTE the units, alweay check the units it helps a lot to understand adn to be sure you have not forgotten any variable, in particular in 2D when you often need to add the thickness "solid.d" to get things correct

NOTE: you often add an operator during your study, you must know that if the system is not solved afterwards, the operator name is NOT recognised, you must rerun an initial conditions, OR UPDATE the solution (no need to rerun fully the solution as these are postprocessing items we are talking about, if you change the physics OK you MUST rerun the full solver)

Finally time to solve: Study right click + Compute.
Then in Results right click the Plot Group 1 Surface 1 and add Deformations.

Then let us reevaluate the integrations:

Select Derived Values Right Click and hit "Clear and evaluate all"

What do you see ? Now for fun, Add another Global Evaluation by duplicated the mass calculation and use "intop2"

Are we violating the conservation of mass ? T that I'll leave to you to sort out ;)

2)
Your solution Data set is defined on the MATERIAL Frame in Structural and by default. You might want to duplicate this data set and change to Spatial for the second one. Then try some of the Derived values integrations, average operations etc on both data sets, here you are using the Solution defined default FRAME ! Be aware

Once you master this, you have understood 80% of the way things are to be entered in COMSOL

--
Have fun COMSOLING
Ivar
Hi one thing to learn in V4, in the definition node you DEFINE an operator that you shall apply onto ssome variable somewhere else in COMSOL. To get the length of and edhe you apply your operator on the operand "1" i.e. intop1(1). This means in COMSOL implicit language (I haven't seen this documented though): select one by one and SUM over the "Entities" (= FEM domains, boundaries edges or points whatever that applies) and integrate the operand given *dxdydz (in 3D) or dx*dy (in 2D) or dz*dr (in 2D-axi) or dx (in 1D) or ds (s= is the edge variable going from 0 to 1 along the edge in the sens of the arrow) etc This requires some thinking and playing, once you master this implicit way of COMSOL then it becomes far easier Take another example, you want to calculate the mass of two blocks in 3D of id "1" and "2": First start COMSOL: 3D, Structural, Stationary solver, right click "Geometry" add a default block (default 1m^3), right click again and add a second block, this time size:0.5x0.5x0.5[m^3], position corner . Select material and enter E=1E6, nu=0,2, rho =2000 (a fictitious soft material). Add boundary conditions Fixed on boundary "1" (the lateral side to the left (yz plane). Then you define an integration operator intop1 (Definitions + Model Couplings + Integration) on All Domains and Spatial Frame, and a second one on the Material frame (intop2) (use the Right Click + Duplicate, BUT be aware the name is also duplicated and this name must be unique so call it intop2) Now you can ask yourself what will be different between the material and the spatial frames? assume you blocks see gravity load and are very soft ... you can try a simple example too to confirm your intuition) So lets set up gravity along -Z: select Solid node + right click + Body load + All domains + enter in Fv "z" -g_const*solid.rho (g_const =9.81[m/s^2] in Comsol) Its in N/m^3 (what does this really mean ?) In fact the field you enter is what applies to EACH element of size dx*dy*dz and it is integrated over EACH DOMAIN (= volumes) and summed over ALL domains sim_over_"i" (integration_over_each_entity (-g_const*solid.rho_"i") *dx*dy*dz Now I added an _"i" on the rho, density, because this is dependent on each domain (these may change domain by domain, so it's NOT a constant that you may take out of the integration. Note that this implicit over_"i" is not written out and is also everywhere in COMSOL Lets continue: Then you need to populate your matrices, you have defined a geometry, a material & structural physics select and defined a stationary analysis. Select the Study 1, - Solver Configuration and Right click + Show Default Solver, this builds up a default solver sequence. Find the Dependent Variables node + Right-click + Compute to selected. This will use your initial conditions and prepare the model (no solving required). Now you can go to the Results + Derived Values right click + Expression: intop1(1) and hit the "=" to populate your "Table". Duplicate your Global evaluation and integrate intop2(1) (I get 1.125m^3. Check that you get the same results (as we have not solved there is no deformations. Duplicate your Global evaluation again and write intop1(solid.rho) (THINK implicit over_"i" of the Domains) I get 2250 kg, NOTE the units, alweay check the units it helps a lot to understand adn to be sure you have not forgotten any variable, in particular in 2D when you often need to add the thickness "solid.d" to get things correct NOTE: you often add an operator during your study, you must know that if the system is not solved afterwards, the operator name is NOT recognised, you must rerun an initial conditions, OR UPDATE the solution (no need to rerun fully the solution as these are postprocessing items we are talking about, if you change the physics OK you MUST rerun the full solver) Finally time to solve: Study right click + Compute. Then in Results right click the Plot Group 1 Surface 1 and add Deformations. Then let us reevaluate the integrations: Select Derived Values Right Click and hit "Clear and evaluate all" What do you see ? Now for fun, Add another Global Evaluation by duplicated the mass calculation and use "intop2" Are we violating the conservation of mass ? T that I'll leave to you to sort out ;) 2) Your solution Data set is defined on the MATERIAL Frame in Structural and by default. You might want to duplicate this data set and change to Spatial for the second one. Then try some of the Derived values integrations, average operations etc on both data sets, here you are using the Solution defined default FRAME ! Be aware Once you master this, you have understood 80% of the way things are to be entered in COMSOL -- Have fun COMSOLING Ivar


Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Feb 18, 2011, 3:41 p.m. EST
Wow! Great tutorial. Yes I didn't understand that "operator" does not mean "quantity," though that should have been clear from the term.

I did your tutorial and also integrated around one of the edges of the cube for both Material and Spatial frames, to make sure I could see a difference, and it worked and the units were correct.

Yet I am still seeing a very strange thing when I try to do the exact same thing on my model (i.e. integrate around an edge to find the perimeter length).

Expected: The integral around the edge for the material frame for a 100um diameter silica disk is 314um as expected.

Unusual: The integral around the edge for my spatial frame (everything else the same as before) is different for each mode, as expected, but the numbers are on the order of 1e7 um! (On the order of ten meters!) I would expect something slightly different to 314um.

Sorry for all the bizarre questions... I really appreciate you helping me with this.

I tried to attach my v4.0a file, but this site said "File size error" -- the file is 6.4 MB which I didn't think was that large, but whatever. So my file is here:
davidnhutch.com/3dDiskMechModes.zip

Note also that I don't think this is related but I am getting Warnings: The relative error is greater than the relative tolerance." I would make my mesh smaller to see if it fixes this but I run out of memory..
Wow! Great tutorial. Yes I didn't understand that "operator" does not mean "quantity," though that should have been clear from the term. I did your tutorial and also integrated around one of the edges of the cube for both Material and Spatial frames, to make sure I could see a difference, and it worked and the units were correct. Yet I am still seeing a very strange thing when I try to do the exact same thing on my model (i.e. integrate around an edge to find the perimeter length). Expected: The integral around the edge for the material frame for a 100um diameter silica disk is 314um as expected. Unusual: The integral around the edge for my spatial frame (everything else the same as before) is different for each mode, as expected, but the numbers are on the order of 1e7 um! (On the order of ten meters!) I would expect something slightly different to 314um. Sorry for all the bizarre questions... I really appreciate you helping me with this. I tried to attach my v4.0a file, but this site said "File size error" -- the file is 6.4 MB which I didn't think was that large, but whatever. So my file is here: http://davidnhutch.com/3dDiskMechModes.zip Note also that I don't think this is related but I am getting Warnings: The relative error is greater than the relative tolerance." I would make my mesh smaller to see if it fixes this but I run out of memory..

Ivar KJELBERG COMSOL Multiphysics(r) fan, retired, former "Senior Expert" at CSEM SA (CH)

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Feb 19, 2011, 3:42 p.m. EST
Hi

There are several threads around the absolute values in the eigenfrequency analysis.
There seem to be easily a misunderstanding in what is coming out of an eigenfrequency analysis!.

An eigenmode analysis is giving frequencies and mode shapes, but there is nothing in the mathematical steps that defines a given energy in and out. Normally the amplitude at a resonance tend to INF. So you cannot expect to get any useful absolute results out, if you do not apply some specific normalisation and add a few assumptions.

COMSOL has selected one particular norm for the eigenfrequency shapes, many other FEM programmes use other norms.
In v4.1, COMSOL its improved, and you are allow too to select:
======
Use the Scaling of eigenvectors list to specify the scaling method used to normalize the eigenvectors:
• Select RMS to use root mean square (RMS) normalization.
• Select Max to use max norm normalization.
• Select Mass matrix to scale the eigenvectors such that the modal masses become unity. If this scaling method is used the Participation factor field list appears. Select the field for which to compute the mass participation factors (typically a displacement field such as mod1_u).
=========

I prefer the last one, as thes quare of the mass participation factors mod1_u,v,w should add up to the total mass of the object along the three directions (if all modes are included) this allows to tell which modes have which influence along the three dependent directions and which can be ignored. Is stll missing in v4.1 the rotational modes participation factors, adding up to the inertias of the object.

In any case none of the norms give any absolute displacements, as a) as already said there is no energy limit in, and b) no damping is considered hence energy loss that participates to limit the total amplitudes

In 3.5 you must extract the deformations of the modes and renormalise them by hand, still possible for simple cases, such to to calculate the participation masses (I gave up as my models are mostly so heavy that I cannot even extract the modes shapes without variable size overruns in matlab)

---
The warnings (you get less in v4.1) are related to non-optimum solver settings, tolerances and mesh sizes, a nice mix of all three ;) I'm still searching for "the" way to improve them myself

--
Good luck
Ivar
Hi There are several threads around the absolute values in the eigenfrequency analysis. There seem to be easily a misunderstanding in what is coming out of an eigenfrequency analysis!. An eigenmode analysis is giving frequencies and mode shapes, but there is nothing in the mathematical steps that defines a given energy in and out. Normally the amplitude at a resonance tend to INF. So you cannot expect to get any useful absolute results out, if you do not apply some specific normalisation and add a few assumptions. COMSOL has selected one particular norm for the eigenfrequency shapes, many other FEM programmes use other norms. In v4.1, COMSOL its improved, and you are allow too to select: ====== Use the Scaling of eigenvectors list to specify the scaling method used to normalize the eigenvectors: • Select RMS to use root mean square (RMS) normalization. • Select Max to use max norm normalization. • Select Mass matrix to scale the eigenvectors such that the modal masses become unity. If this scaling method is used the Participation factor field list appears. Select the field for which to compute the mass participation factors (typically a displacement field such as mod1_u). ========= I prefer the last one, as thes quare of the mass participation factors mod1_u,v,w should add up to the total mass of the object along the three directions (if all modes are included) this allows to tell which modes have which influence along the three dependent directions and which can be ignored. Is stll missing in v4.1 the rotational modes participation factors, adding up to the inertias of the object. In any case none of the norms give any absolute displacements, as a) as already said there is no energy limit in, and b) no damping is considered hence energy loss that participates to limit the total amplitudes In 3.5 you must extract the deformations of the modes and renormalise them by hand, still possible for simple cases, such to to calculate the participation masses (I gave up as my models are mostly so heavy that I cannot even extract the modes shapes without variable size overruns in matlab) --- The warnings (you get less in v4.1) are related to non-optimum solver settings, tolerances and mesh sizes, a nice mix of all three ;) I'm still searching for "the" way to improve them myself -- Good luck Ivar

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.