SDT-rotor Contents   Functions      PDF Index |
Starting from the mono-harmonic computation in section 3.5.2. One builds a full shaft model that will allow prediction of all the modes.
%H5.close;fclose all; % may be needed for overwrite cf=demo_cyclic('testrotor 7 -blade -cf 2'); cf.Stack{'info','Omega'}=struct('data',250,'unit','RPM'); d0=fe_cyclicb('shaftsolvestatic 0',cf.mdl) % auto-display with no arg cf.Stack{'curve','StaticState'}=d0; RunOpt.Root=fullfile(sdtdef('tempdir'),'Disk_7'); RunOpt.FileSe=fullfile(sdtdef('tempdir'),'Disk_7_SE'); cf.mdl=fe_cyclicb('shaftSeAssemble -reset',cf.mdl,RunOpt.FileSe); RunOpt.FileTeig=fullfile(sdtdef('tempdir'),'Disk_7_TEIG.mat'); % See sdtweb('fe_cyclicb#ShaftEig') for -batch option def=fe_cyclicb('shaft Teig 0 1 5',cf.mdl); % Now build a multi-harmonic model fe_cyclicb('ShaftPrep -handle',cf,def); fesuper('fassemble',cf); % Mode Computations defr=fe_eig(cf.Stack{'MVR'},[5 50 1e3 11 1e-8]); cf.sel='reset';cf.def=fesuper('sedef',cf,defr); def_ext=fe_cyclicb('DefList',RunOpt.FileTeig(1:end-4)) % the same results should be achived by assembling the prestress inside % shaftTeig xxx update matrices only once, not for each diameter cf=demo_cyclic('testrotor 7 -blade -cf 2'); cf.Stack{'info','Omega'}=struct('data',250,'unit','RPM'); cf.mdl.il=[1001 fe_mat('p_super','SI',1) 1 0 0 1]; fe_cyclicb('shaft Teig 0 1 5 -batch -reassemble',cf.mdl,RunOpt.FileTeig); def_int=fe_cyclicb('DefList',RunOpt.FileTeig(1:end-4)) %if norm(def_int.data(def_int.data(:,1)>1,1)-def_ext.data(def_ext.data(:,1)>1,1),inf)>1e-5; %error('ShaftTEig internal and external prestress produce different results'); end;
Note that to build a disk model from a sector, you should use model=fe_cyclicb('DiskFromSector 1',model,sector). xxx Arnaud : need to check adaptation for multi-disk models.