# PDE: modal analysis two bodies - possible?

2 Ansichten (letzte 30 Tage)
Robert Billermann am 8 Jan. 2021
Beantwortet: Ravi Kumar am 12 Jan. 2021
Hello all,
I am trying to solve the eigenvalue problem for two connected cylinders with different material properties. First of all I tried to solve it in 2D space, here is my code:
structuralModel = createpde('structural','modal-planestrain');
% circles
C1 = [1,0.5,-0.25,0.25]';
C1 = [C1;zeros(10 - length(C1),1)];
C2 = [1,0.5,-0.25,0.20]';
C2 = [C2;zeros(10 - length(C2),1)];
C3 = [1,0.5,-0.25,0.18]';
C3 = [C3;zeros(10 - length(C3),1)];
% geometry from edges
gm = [C1,C2,C3];
sf = '(C1-C2)+(C2-C3)';
ns = char('C1','C2','C3');
ns = ns';
g = decsg(gm,sf,ns);
geometryFromEdges(structuralModel,g);
% subplot(3,1,1)
pdegplot(structuralModel,'Facelabels','on','EdgeLabels','on') % ,'EdgeLabels','on',
axis equal
% material properties
structuralProperties(structuralModel,'Face',1,'YoungsModulus',200E9,'PoissonsRatio',0.3,'MassDensity',2.7E-6);
structuralProperties(structuralModel,'Face',2,'YoungsModulus',110E9,'PoissonsRatio',0.28,'MassDensity',8.7E-6);
% mesh
const_h_max = 0.005;
mesh = generateMesh(structuralModel,'Hmax',const_h_max);
subplot(3,1,2)
pdeplot(mesh)
% solving
eigen = solve(structuralModel,'FrequencyRange',[20,100]*2*pi);
Error code:
Error using matlab.internal.math.lanczos
Factorizations failed possibly because the problem is ill-posed.
Error in pde.StructuralModel/solveStructuralEigenvalue (line 76)
[v,l] = matlab.internal.math.lanczos(K,M,opts);
Error in pde.StructuralModel/solve (line 347)
R = solveStructuralEigenvalue(self,argsToPass{:});
1.Is there any possibility at all to do the modal analysis for two bodies (with different material properties)?
2.did I forget any boundary conditions?
Thanks in advance and best regards
Robert
##### 0 Kommentare-1 ältere Kommentare anzeigen-1 ältere Kommentare ausblenden

Melden Sie sich an, um zu kommentieren.

### Akzeptierte Antwort

Ravi Kumar am 12 Jan. 2021
Hi Rober,
Your mass density seems to be off. If you are using SI units, as it appears from Young's moduls, mass density must be on the order of 1E3. Take a look at this revised mass density and frequency range:
structuralModel = createpde('structural','modal-planestrain');
% circles
C1 = [1,0.5,-0.25,0.25]';
C1 = [C1;zeros(10 - length(C1),1)];
C2 = [1,0.5,-0.25,0.20]';
C2 = [C2;zeros(10 - length(C2),1)];
C3 = [1,0.5,-0.25,0.18]';
C3 = [C3;zeros(10 - length(C3),1)];
% geometry from edges
gm = [C1,C2,C3];
sf = '(C1-C2)+(C2-C3)';
ns = char('C1','C2','C3');
ns = ns';
g = decsg(gm,sf,ns);
geometryFromEdges(structuralModel,g);
% subplot(3,1,1)
pdegplot(structuralModel,'Facelabels','on','EdgeLabels','on') % ,'EdgeLabels','on',
axis equal
% material properties
structuralProperties(structuralModel,'Face',1,'YoungsModulus',200E9,'PoissonsRatio',0.3,'MassDensity',2.7E3);
structuralProperties(structuralModel,'Face',2,'YoungsModulus',110E9,'PoissonsRatio',0.28,'MassDensity',8.7E2);
% mesh
const_h_max = 0.005;
mesh = generateMesh(structuralModel,'Hmax',const_h_max);
subplot(3,1,2)
pdeplot(mesh)
% solving
eigen = solve(structuralModel,'FrequencyRange',[-Inf,10000]*2*pi);
##### 0 Kommentare-1 ältere Kommentare anzeigen-1 ältere Kommentare ausblenden

Melden Sie sich an, um zu kommentieren.

### Kategorien

Mehr zu Geometry and Mesh finden Sie in Help Center und File Exchange

R2020a

### Community Treasure Hunt

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

Start Hunting!