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.

Exporting Shell Data on mesh nodes coordinates through Matlab LiveLink

Riccardo Roberto De Lucia

Please login with a confirmed email address before reporting spam

Hi, I'm trying to export comsol data from a parametric eigenfrequency study of a shell aluminium basic plate. I need to obtain data centered exactly on the nodes from the mesh used to compute results. Data should come not from the mid-plane mesh elements but from the 3D thick structure. This fact complicates the relationship between the 2D mesh and the actual 3D data I can access from Shell datasets solutions. I've tried both mpheval and mphinterp methods but with no success. Both seem not to work with shell datasets. Is there a way to obtain such 3D data from a 2D mesh, or am I missing some important aspects in modeling mechanical problems through the Shell interface? Thank you in advance!


4 Replies Last Post Apr 23, 2018, 2:54 a.m. EDT
Lars Gregersen COMSOL Employee

Please login with a confirmed email address before reporting spam

Posted: 6 years ago Apr 12, 2018, 5:52 a.m. EDT

Hi

I'm sure we can figure something out, but I don't understand what model you have.

Is your model a shell or a plate model? Is the geometry 2D or 3D? What is a shell dataset?

It may help if you could post a simplified version of the model.

-------------------
Lars Gregersen
Comsol Denmark
Hi I'm sure we can figure something out, but I don't understand what model you have. Is your model a shell or a plate model? Is the geometry 2D or 3D? What is a shell dataset? It may help if you could post a simplified version of the model.

Riccardo Roberto De Lucia

Please login with a confirmed email address before reporting spam

Posted: 6 years ago Apr 16, 2018, 3:19 a.m. EDT

Hi Lars, thank you for your reply. I'm using a Shell model to represent a simple thin aluminium rectangular plate. As far as I understand, plate models are used to model objects which are similar to membranes or very thin layers of material over planar surfaces. Moreover, I will need to extend this model to orthotropic curved surfaces (in particular I will need to investigate violin top plates eigenmodes). My geometry is a 2D object. I refer to shell dataset as the set of 3D data coming from the study, which is collected under Results -> Data Sets -> Shell 1. You can find a simplified version of the project attached to this reply. Thank you!

Hi Lars, thank you for your reply. I'm using a Shell model to represent a simple thin aluminium rectangular plate. As far as I understand, plate models are used to model objects which are similar to membranes or very thin layers of material over planar surfaces. Moreover, I will need to extend this model to orthotropic curved surfaces (in particular I will need to investigate violin top plates eigenmodes). My geometry is a 2D object. I refer to shell dataset as the set of 3D data coming from the study, which is collected under Results -> Data Sets -> Shell 1. You can find a simplified version of the project attached to this reply. Thank you!


Lars Gregersen COMSOL Employee

Please login with a confirmed email address before reporting spam

Posted: 6 years ago Apr 18, 2018, 4:58 a.m. EDT

Hi

Thank you for the clarification.

Currently there are no way to extract the data you need using mpheval or mphinterp. We are looking into ways to support that in the near future.

If you can create a plot of the data you need, you can use:

pd = mphplot(model, 'pg1')

and then extract the data from the pd-struct that is returned from mphplot. Note that data that are used for plotting are 32-bit floats even though the computations are carried out as 64-bit doubles.

-------------------
Lars Gregersen
Comsol Denmark
Hi Thank you for the clarification. Currently there are no way to extract the data you need using mpheval or mphinterp. We are looking into ways to support that in the near future. If you can create a plot of the data you need, you can use: pd = mphplot(model, 'pg1') and then extract the data from the pd-struct that is returned from mphplot. Note that data that are used for plotting are 32-bit floats even though the computations are carried out as 64-bit doubles.

Riccardo Roberto De Lucia

Please login with a confirmed email address before reporting spam

Posted: 6 years ago Apr 23, 2018, 2:54 a.m. EDT

Hi Lars, thank you again for being helping me, and sorry my late reply. I will surely give it a try! Currently, I find that the most efficient method to obtain data for postprocessing outside Comsol is through the Export options, by the usage of csv files, which I use to import data into MatLab. Hope to see some updates in the future!

All the best, Riccardo

Hi Lars, thank you again for being helping me, and sorry my late reply. I will surely give it a try! Currently, I find that the most efficient method to obtain data for postprocessing outside Comsol is through the Export options, by the usage of csv files, which I use to import data into MatLab. Hope to see some updates in the future! All the best, Riccardo

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.