kill(all);

dati recuperati da modale FEM, modi propri normalizzati a massa modale unitaria.

n:5;

fmin:0$
fmax:1000$

zeta:0.01$

frequenze proprie

freq:[
83.37,
524.7,
828.9,
1488,
1608
];

spostamenti dell'unico g.d.l. caricato

disp:[
863.197,
-865.160,
0,
-870.81,
0
];

azione esterna sull'unico g.d.l. caricato

fr:1.2$
fi:0$

una quantità da ottenere in output

s11:[
-11673.2,
-65554.5,
0,
166612,
0
];

ciclo sui modi

xir_list:[]$
xii_list:[]$
for i : 1 thru n do (
    qr:fr*disp[i],
    qi:fi*disp[i],
    omega: 2*%pi*freq[i],
    r:f/freq[i],
    xir: (2*qi*r*zeta-qr*r^2+qr)/(4*omega^2*r^2*zeta^2+omega^2*r^4-2*omega^2*r^2+omega^2),
    xii:-(2*qr*r*zeta+qi*r^2-qi)/(4*omega^2*r^2*zeta^2+omega^2*r^4-2*omega^2*r^2+omega^2),
    xir_list:append(xir_list,[xir]),
    xii_list:append(xii_list,[xii])
);

xir_list;

xii_list;

s11r:0$
s11i:0$
for i : 1 thru 5 do(
    disp(i),
    wxplot2d(
        s11[i]*[xir_list[i],xii_list[i]],
        [f,fmin,fmax],
        [legend,"Re","Im"]
    ),
    [s11r,s11i]:[s11r,s11i]+s11[i]*[xir_list[i],xii_list[i]]
);

valore statico, da FEM statico 39.2043

[s11r,s11i],f=0,numer;

plotto i risultati

wxplot2d(
[s11r,s11i,sqrt(s11r^2+s11i^2)],
[f,fmin,fmax],
[legend,"Re","Im","Mag"]
);

wxplot2d(
[s11r,s11i,sqrt(s11r^2+s11i^2)],
[f,freq[1]-5,freq[1]+5],
[legend,"Re","Im","Mag"]
);

wxplot2d(
[s11r,s11i,sqrt(s11r^2+s11i^2)],
[f,fmin,fmax],[y,-100,100],
[legend,"Re","Im","Mag"]
);

wxplot2d(
[sqrt(s11r^2+s11i^2)],
[f,fmin,fmax],
[legend,"Mag"],
[logy]
);