SDT-rotor         Contents     Functions         Previous Next     PDF Index

3.6  Full rotor model from cyclic computation

3.6.1  Single stage full rotor example

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.


©1991-2023 by SDTools
Previous Up Next