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.

How to get Eigenfrequency values with Matlab LiveLink

Please login with a confirmed email address before reporting spam

Hello everyone,

I've got my model working with Matlab LiveLink and one of my studies computes mechanical eigenfrequency of a MEMS structure. I'm trying to figure out how to get the value of the computed eigenfrequencies from the solution into Matlab.

I've been trying to use the mpheval or mphglobal commands but I do not know what variable to use in the expressions.
Any help would be greatly appreciated.

Thanks.
Mark Roy

4 Replies Last Post Apr 3, 2015, 11:10 p.m. EDT
COMSOL Moderator

Hello Mark Roy

Your Discussion has gone 30 days without a reply. If you still need help with COMSOL and have an on-subscription license, please visit our Support Center for help.

If you do not hold an on-subscription license, you may find an answer in another Discussion or in the Knowledge Base.


Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Nov 22, 2010, 7:37 a.m. EST
did you get it?
did you get it?

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 Nov 22, 2010, 3:21 p.m. EST
Hi

when you have several solutions (parametric sweep ,eigenfrequency, time dependent, then you must use the "solnum" to access them in order, check also the with() and at() operators (or whatever they are now clled in V4.

Sorry cannot tell more, I havent really had time to use Livelink yet, the new features of V4 have allowed me so long to survive well without matlab ;)

--
Good luck
Ivar
Hi when you have several solutions (parametric sweep ,eigenfrequency, time dependent, then you must use the "solnum" to access them in order, check also the with() and at() operators (or whatever they are now clled in V4. Sorry cannot tell more, I havent really had time to use Livelink yet, the new features of V4 have allowed me so long to survive well without matlab ;) -- Good luck Ivar

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Nov 22, 2010, 7:48 p.m. EST
After setting up and running an eigenfrequency simulation, I figured out that you can use mpheval to get the value from the dataset.

ie:

model.sol.create('sol2');
... setup solution features for eigenfrequency, number of steps, tolerance, etc...
model.sol('sol2').attach('std2');

model.result.create('pg2', 2);
model.result('pg2').set('data', 'dset2');
model.result('pg2').feature.create('surf1','Surface');
model.sol('sol2').runAll;
model.result('pg2').run;

eval = mpheval(model,'smpn.freq','Dataset','dset2','edim',0,selection',1);
eigenfreq = eval.d1;

Thats basically what I've done and it seems to work. The reason everything is number 2 is because I also have another solution for steady state response.

Hope that helps.
After setting up and running an eigenfrequency simulation, I figured out that you can use mpheval to get the value from the dataset. ie: model.sol.create('sol2'); ... setup solution features for eigenfrequency, number of steps, tolerance, etc... model.sol('sol2').attach('std2'); model.result.create('pg2', 2); model.result('pg2').set('data', 'dset2'); model.result('pg2').feature.create('surf1','Surface'); model.sol('sol2').runAll; model.result('pg2').run; eval = mpheval(model,'smpn.freq','Dataset','dset2','edim',0,selection',1); eigenfreq = eval.d1; Thats basically what I've done and it seems to work. The reason everything is number 2 is because I also have another solution for steady state response. Hope that helps.

Please login with a confirmed email address before reporting spam

Posted: 9 years ago Apr 3, 2015, 11:10 p.m. EDT
Hi,

I'm facing a similar problem: I'm performing a simple eigenfrequency study of a cable, repeating it for several values of a particular parameter involved. I do this by programing a loop in Matlab Livelink.
I'am interested in the first three eigenfrquencies, so I need to store them for each value of the parameter simulated. I couldn't manage to get those values into Matlab.

I would really appreciate your help.

Thank you in advance.

Bruno.
Hi, I'm facing a similar problem: I'm performing a simple eigenfrequency study of a cable, repeating it for several values of a particular parameter involved. I do this by programing a loop in Matlab Livelink. I'am interested in the first three eigenfrquencies, so I need to store them for each value of the parameter simulated. I couldn't manage to get those values into Matlab. I would really appreciate your help. Thank you in advance. Bruno.

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.