Simscape Multibody: Reduced Order Flexible Solid caused a simulation error.

1 ビュー (過去 30 日間)
Irina-Stefana Bulgaru
Irina-Stefana Bulgaru 2021 年 8 月 19 日
回答済み: Steve Miller 2022 年 11 月 29 日
I have been working on a simulink model for attitude control of a solar sail spacecraft. I am now trying to study how the structural properties of the sail (its flexibility) impacts the dynamics and control. A solar sail is combosed of 4 thin support booms in X configuration, on which a thin mylar membrane (3e-6 m thickness) is mounted to harvest the kinetic energy of solar radiation. A generic solar sail model (40x40m in dimensions) is illustrated below.
I tried to use Simscape Multibody to model one quadrant of this system. I used a cylindrical flexible beam for the booms and a reduced order flexible solid for the membrane. I generated the geometry in Ansys, exported it in an STL file and imported it in MATALB. At first I tried following this tutorial to obtain the mass and stiffness matrices required, however the meshing obtained here did not look right, probably because my model was too thin for a "modal-solid" analysis. The mesh obtained is illustrated below.
Nevertheless, I generated matrices out of it and fed them into the reduced order flexible solid to see what happens, and as expected I got an error.
At this point I thought the issue was the improper generation of K and M and so I performed the entire modal analysis and matrix generation in Ansys. I loaded them into MATLAB and ran the model again, but came across the same warning and error. I read this post which explains the warning I received, so I thought maybe the interface frames defined in the Origins field are in the wrong order. Since there are only 3 interface nodes (the 3 points of the triangle), I was able to try all the possible combinations and found the "correct" order of frames that does not throw the warning anymore.
However, the error is still there, and I am unable to simulate my model. I also do not know how to debug this further, or how to find a workaround and make it work. Can the thickness of my "solid" be considered as an extreme value in its geometry? If I cannot use the Reduced Order Flexible Solid, is there anything else I can use to model my system? Please advise.
All the files required to reproduce the error can be found here.
Thank you,
  1 件のコメント
Irina-Stefana Bulgaru
Irina-Stefana Bulgaru 2021 年 8 月 24 日
Update: As a workaround, I tried using the 'modal-axisymmetric' analysis type to get the matrices for a 2d model, given that my sail membrane is not actually a solid, following the same flow as in this tutorial. However, the matrices I obtained are not 18x18 anymore, but much bigger, and I do not understand why they are not reduced. Is there anyway to reduce the ones I have already obtained to 18x18?
I have attached the matlab script used for this update. Also, a screenshot with the "reduced model" obtained is below:


回答 (1 件)

Steve Miller
Steve Miller 2022 年 11 月 29 日
This is a very interesting application. The process you followed looks good, but it appears the matrices produced by the analysis in FEM are not suitable for flexible body dynamic simulation.
Calculating the eigenvalues of K, M, and K/M is a good way to check the results of the Finite Element analysis.
>> format shortE
>> eigTable = table(sort(eig(K)),sort(eig(M)),sort(eig(K,M)),'VariableNames',["eig(K)","eig(M)","eig(K,M)"]);
>> disp(eigTable)
eig(K) eig(M) eig(K,M)
___________ ___________ ___________
-7.0120e-12 -8.4806e-18 -9.4658e-01
1.3686e-17 3.0190e-22 -4.1927e-02
3.0855e-16 3.0250e-18 -1.2851e-12
1.7256e-15 9.7162e-04 1.9292e-13
4.9077e-12 1.2583e-03 3.1293e-12
1.8878e-11 1.6659e-03 4.9001e-10
2.9739e-11 2.2569e-03 7.8862e-10
3.7807e-11 4.1325e-03 3.9227e-09
4.2770e-11 5.2623e-03 1.4863e-08
4.5936e-11 7.4882e-03 6.6314e-05
7.6072e-11 3.9744e-02 7.4276e-04
8.2413e-11 4.5635e-02 1.1208e-02
5.1498e-08 8.4970e-02 1.2881e+04
6.2036e-08 1.7607e-01 3.8385e+04
1.2005e-07 2.9916e-01 9.0905e+04
5.7491e+01 4.1520e-01 3.9569e+14
1.4960e+02 4.3444e-01 5.1566e+14
3.8953e+02 2.2928e+00 8.5175e+15
  1. Eigenmodes of K: should be symmetric and have all non-negative eigenvalues with 6 obvious zero eigenvalues (the rigid-body modes). Here we have 15 values that are very small (but not 0), and then a very large jump in magnitude.
  2. Eigenvalues of (K/M): should be symmetric and have all non-negative eigenvalues with 6 obvious zero eigenvalues (the rigid-body modes). We do not see that here either.
  3. Eigenvalues of M: should be symmetric with all eigenvalues strictly positive. This is not the case.
I see you read David's blog. It might be worth looking through the associated File Exchange submission to see if the code examples in that submission would help you adjust the FE analysis.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by