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.

3D structural shell elements - eliminated stiffness matrix - degrees of freedom

Please login with a confirmed email address before reporting spam

I wonder how the degrees of freedom are organised on the eliminated stiffness matrix exported from a 3D structure composed of shell elements. The structure has no constraints, as I want the free-free frequencies and mode shapes, then I was expecting eliminated mass and stiffness matrices of size equal to the (#degrees of freedom) = (#nodes) * (#dependent variables). However the eliminated matrices have a size equal to (#nodes) * 5.

I know shell elements nodes have only 5 degrees of freedom, but since they are not on the same plane, I was expecting 6 degrees of freedom per node, not 5. If someone can explain-me how this matrix is organised, I would be very grateful :)

Best regards,



3 Replies Last Post 19.11.2020, 06:04 GMT-5
Henrik Sönnerlind COMSOL Employee

Please login with a confirmed email address before reporting spam

Posted: 4 years ago 17.08.2020, 03:02 GMT-4

There is still a local tangent plane in each node for which the degree of freedom related to the normal direction ('drilling') rotation needs to be removed in order to avoid the corresponding singularity. There are effectively 5 active DOFs in all nodes, as long as there is not a 'fold line'.

In each node there are thus 3 translational DOFs and 2 rotational DOFs. Which two of the rotational DOFs that are kept in a certain node is determined by an internal scheme which tries to make the best possible constraint elimination from a numerical point of view. Loosely speaking, if the normal points mainly in a certain global direction, the corresponding DOF is removed.

-------------------
Henrik Sönnerlind
COMSOL
There is still a local tangent plane in each node for which the degree of freedom related to the normal direction ('drilling') rotation needs to be removed in order to avoid the corresponding singularity. There are effectively 5 active DOFs in all nodes, as long as there is not a 'fold line'. In each node there are thus 3 translational DOFs and 2 rotational DOFs. Which two of the rotational DOFs that are kept in a certain node is determined by an internal scheme which tries to make the best possible constraint elimination from a numerical point of view. Loosely speaking, if the normal points mainly in a certain global direction, the corresponding DOF is removed.

Please login with a confirmed email address before reporting spam

Posted: 4 years ago 16.11.2020, 08:52 GMT-5

Hi Henrik,

Thank you for your reply, now I have another question. Is it possible to export the mass and stiffness matrices with the two rotational DOFs expressed in the global coordinate system? I am using COMSOL to model one part of a larger system. To model the entire system, I need to couple the degrees of freedom of the different parts in a script.


Best regards,

Lucas

Hi Henrik, Thank you for your reply, now I have another question. Is it possible to export the mass and stiffness matrices with the two rotational DOFs expressed in the global coordinate system? I am using COMSOL to model one part of a larger system. To model the entire system, I need to couple the degrees of freedom of the different parts in a script. ------------------- Best regards, Lucas

Remi Magnard COMSOL Employee

Please login with a confirmed email address before reporting spam

Posted: 4 years ago 19.11.2020, 06:04 GMT-5

You can use the LiveLink™ for MATLAB® to extract the imformation of the assembled matrices.

With the function MPHMATRIX you can extract the mass and the stiffness matrices of the full problem. Using the function MPHXMESHINFO you can retreive informations for each nodes like dof names or global coordinates.

For instance to get indices in the matrix system of the rotational dof arx, use the following command:

info = mphxmeshinfo(model)    
idx = find(strcmp(info.dofs.dofnames,'comp1.arx'))-1;
idx_matrix = find(info.dofs.nameinds==idx);

To get the global coordinates of a specific node index (for instance the ones from the example above, idx_matrix) enter:

info.dofs.coords(:,idx_matrix)

If you need more information about how to use these functions please contact the COMSOL Support.

You can use the LiveLink™ *for* MATLAB® to extract the imformation of the assembled matrices. With the function MPHMATRIX you can extract the mass and the stiffness matrices of the full problem. Using the function MPHXMESHINFO you can retreive informations for each nodes like dof names or global coordinates. For instance to get indices in the matrix system of the rotational dof arx, use the following command: info = mphxmeshinfo(model) idx = find(strcmp(info.dofs.dofnames,'comp1.arx'))-1; idx_matrix = find(info.dofs.nameinds==idx); To get the global coordinates of a specific node index (for instance the ones from the example above, idx_matrix) enter: info.dofs.coords(:,idx_matrix) If you need more information about how to use these functions please contact the COMSOL Support.

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.