Feasibility of MBD analysis with very thin flexible panels
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Feasibility of MBD analysis with very thin flexible panels
I got the following error message and cannot proceed with the analysis of flexible MBD.
['flexible_square_panels/square_panel', 'flexible_square_panels/Solver Configuration']: Body 'flexible_square_panels/square_panel' caused a simulation error. This might be caused by extreme values in its geometry, material properties, cross-sectional properties, mass and stiffness properties, or deformation. For a flexible beam, this could also be caused by numerical ill- conditioning if the cross-sectional properties were calculated from geometry.
Is it possible to analyze a model that includes very thin flexible panels as shown below?
If possible, I would appreciate if you could tell me how to do so.
The following is model information.
100mm×100mm×0.25mm flat panel modeled in SolidWorks was imported as reduced order flexible solid.
The material is PET, and I set as follows.
Young's Modulus: 3500×10^6[g・mm/s^2/mm^2] ( = 3500[MPa])
Poisson's ratio: 0.3
density: 1.38×10^-3[g/mm^3] ( = 1.38[kg/m^3])
The unit system is mm, g, and s, because I was created in SolidWorks with mm as the length unit.
The code for setting the material is shown below.
% flexible multibody dynamics
close all;
%% step.1 import STL file
stlFile = 'square_plate.STL';
figure
trisurf(stlread(stlFile));
axis equal
%% step.2 set interface coordinates
origins = [0 0.125 50
50 0.125 100
100 0.125 50
50 0.125 0];
%% step.3 set material property and make mesh
% set parameters
% reference: https://kayo-corp.co.jp/common/pdf/pla_propertylist01.pdf
E = 3500*10e6; % g・mm/s^2/mm^2 = kg・m/s^2/m^2 = Pa
nu = 0.3;
rho = 1.380*10e-3; % g/mm^3
feModel = createpde('structural', 'modal-solid');
importGeometry(feModel, stlFile);
structuralProperties(feModel, ...
'YoungsModulus',E, ...
'PoissonsRatio',nu, ...
'MassDensity',rho);
generateMesh(feModel, 'GeometricOrder','quadratic');
%% step.4 set mutlipoint constraints for interface coordinate systems
figure
pdegplot(feModel,'FaceLabels','on','FaceAlpha',0.5)
faceIDs = [1, 2, 3, 4];
numFrames = 4;
% emphasize the selected faces (faceIDs)
figure
pdemesh(feModel,'FaceAlpha',0.5)
hold on
colors = ['rgb' repmat('k',1,numFrames-3)];
assert(numel(faceIDs) == numFrames);
for k = 1:numFrames
nodeIdxs = findNodes(feModel.Mesh,'region','Face',faceIDs(k));
scatter3( ...
feModel.Mesh.Nodes(1,nodeIdxs), ...
feModel.Mesh.Nodes(2,nodeIdxs), ...
feModel.Mesh.Nodes(3,nodeIdxs), ...
'ok','MarkerFaceColor',colors(k))
scatter3( ...
origins(k,1), ...
origins(k,2), ...
origins(k,3), ...
80,colors(k),'filled','s')
end
hold off
for k = 1:numFrames
structuralBC(feModel, ...
'Face',faceIDs(k), ...
'Constraint','multipoint', ...
'Reference',origins(k,:));
end
%% step.5 make reduced order model
rom = reduce(feModel, 'FrequencyRange', [0 1e3]);
panel.P = rom.ReferenceLocations'; % Interface frame locations (n x 3 matrix)
panel.K = rom.K; % Reduced stiffness matrix
panel.M = rom.M; % Reduced mass matrix
dampingRatio = 0.05;
panel.C = computeModalDampingMatrix(dampingRatio,rom.K,rom.M);
frmPerm = zeros(numFrames,1); % Frame permutation vector
dofPerm = 1:size(panel.K,1); % DOF permutation vector
assert(size(panel.P,1) == numFrames);
for i = 1:numFrames
for j = 1:numFrames
if isequal(panel.P(j,:),origins(i,:))
frmPerm(i) = j;
dofPerm(6*(i-1)+(1:6)) = 6*(j-1)+(1:6);
continue;
end
end
end
assert(numel(frmPerm) == numFrames);
assert(numel(dofPerm) == size(panel.K,1));
panel.P = panel.P(frmPerm,:);
panel.K = panel.K(dofPerm,:);
panel.K = panel.K(:,dofPerm);
panel.M = panel.M(dofPerm,:);
panel.M = panel.M(:,dofPerm);
panel.C = panel.C(dofPerm,:);
panel.C = panel.C(:,dofPerm);
Also, the reduced order flexible solid window and Simscape model are also shown in Fig.1, and 2, respectively.
Fig.1 setting window of reduced order flexible solid
Fig.2 Simscape model
0 Kommentare
Antworten (1)
Ahmed Aboubakr
am 12 Apr. 2022
Yes, it is possible to analyze a model that includes thin flexible panels. I would suggest you use the general flexible plate block for this model. You can find more information here Thin plate with elastic properties for deformation - MATLAB (mathworks.com)
0 Kommentare
Siehe auch
Kategorien
Mehr zu Bodies finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!