SDT-rotor         Contents     Functions         Previous Next     PDF Index

obsolete

Purpose

Obsolete functionality

Syntax

 model=fe_cyclicb('Basis [, -norm, -all, -int, -rb]',model,orders,omegas,opt)
 def=fe_cyclicb('DiskEig',DISK)
 def=fe_cyclicb('DiskEngineLoad EO',model)
 def=fe_cyclicb('DiskFRFD [, -rest]',DISK,lossfac,cf,sel)
 def=fe_cyclicb('DiskFRFMS [, -rest]',DISK,def,damp,cf,sel)
 K=fe_cyclicb('DiskMatrices [ mk]',DISK,Eltselection)
 fe_cyclicb('Fourier MODENUM [, -phys, rotor, disk, -red, -test TOL]',fignr,model,def)
 model=fe_cyclicb('PolyAssemble [, NoT]',model,params)
 DISK=fe_cyclicb('Reduce NODEID0 ELTID0 [, -int]',sector,def)
 model=fe_cyclicb('Renumber',model)
 def=fe_cyclicb('Display',cf,def)
 def=fe_cyclicb('ShaftEngineLoad EO',model)
 def=fe_cyclicb('ShaftFRFD [-rest]',model,lossfac,cf,sel)
 def=fe_cyclicb('ShaftFRFMS [-rest]',model,def,damp,cf,sel)
 fe_cyclic('ShaftPrep',model,def)
 mdl=fe_cyclic('ShaftRing [-round N1 N2 N3 -autoclose N4]',rim1,rim2)
 fe_cyclicb('ShaftLoad',model)
 [def,mdl]=fe_cyclicb('ShaftTEig ORDERS',model)

OBSOLETE Basis [, -all, -norm, -int, -rb]

This command allows to build a set of modes :

The general call is

[model,def]=fe_cyclicb('basis -all -int -norm -rb',sector,orders,omegas);

The output is a struct array containing the modeshapes. If only one output is required, the basis is added to the model as a TR field. The field data refers to the harmonic in column 2 and the rotation speed in column 3. The number of computed modes is controlled by the field 'info','EigOpt' in the stack.

 cf=demo_cyclic('testload disk 5 -nor reset') % reset file (rather than load)

 % Set of Cyclic Modes / Fixed Interface Modes
 sector=stack_set(cf.Stack{'disk1'},'info','EigOpt',[5 4 0 11 1e-8]);
 sector=stack_set(sector,'info','EigOptFixInt',[5 4 0 11 1e-8]);
 sector=fe_cyclicb('basis -all -int -norm',sector,[0:3],...
 {[0 0 0],[0 0 250]});
 cf.model=sector;cf.def=sector.TR;

The -all option is used to get both modeshapes associated with a double eigenvalue in the case where harmonics are not 0 or half the number of sectors, when applicable. For more information on cyclic symmetry, please refer to [...].

The -norm option ensures that modes are orthonormalized in mass and stiffness because of convergence problems caused by the presence of double eigenvalues. This option is not required when the eigenvalue problem is solved with Nastran (fe_eig method 50). xxx discuss with EB

When the -int option is added, modes of the initial sector with its left and right interfaces fixed (clamped) are also computed and added at the beginnning of the output. These modes have a −1 in the field data. The computation parameters are specified in the 'info','EigOptFixInt' stack entry. When this option but no harmonic are given, it computes only fixed interface modes.

The six rigid body modes of a cyclic symmetric structure are mono-harmonic with harmonic 0 (1T along and 1R around the axis of symmetry) and harmonic 1 (2T along and 2R around the other axes). Thus, the -rb option is used to compute two more flexible modes with harmonic 0 and four more flexible modes with harmonic 1.

OBSOLETE DiskEig [, -ord]

This command allows to compute the approximate modes of a reduced disk model built with the command Reduce of fe_cyclicb.

Command fails and is no longer maintained zzz see with arnaud

 cf=demo_cyclic('testload disk 5 -nor') % reload model
 fe_cyclicb('reduce 1 1 -int',cf);disk=cf.Stack{'diskmodel'};

 % Mode computations
 disk=stack_set(disk,'info','EigOpt',[5 30 1e3 11 1e-8]);
 [def,disk]=fe_cyclicb('diskeig -ord',disk);
 disp(def.data);
 cf.def=fe_cyclicb('Display',cf,def);

The -ord option is used to identify the Fourier harmonic coefficient associated with each mode when dealing with the reduced model of a tuned disk. When dealing with a mistuned disk (whose modes are multi-harmonic), this returns the coefficient whose harmonic is the greatest.

DiskEngineLoad EO [, sel]

This commands builds a physical load, spatially mono-harmonic, on a specified set of nodes. If no selection is present, all nodes are used.

 % Model Initialization
 cf=demo_cyclic('testdisk 7 -blade -cf 2');

 % External Load
 Load=fe_cyclicb('DiskEngineLoad 3 r > 201',cf);
 cf.def=Load;fecom showdefarrow;

OBSOLETE DiskFRF [, D, MS, -rest]

This command allows to build the Frequency Response Functions of a disk model, either full or reduced. A load and a set of observation DOF have to be defined and added to the model with fe_case. The frequency range is stored in the stack as a 'info','Freq' entry.

The general call is

 xF=fe_cyclicb('DiskFRFD',disk,lossfac)
 xF=fe_cyclicb('DiskFRFD -rest',disk,lossfac,cf,sel)
 xF=fe_cyclicb('DiskFRFMS',disk,def,damp)
 xF=fe_cyclicb('DiskFRFMS -rest',disk,def,damp,cf,sel)

The command FRFD assembles the matrices of the model then uses them to compute the response. An optional loss factor can be specified.

The command FRFMS synthetizes the response from a set of modeshapes. A damping ratio for all modes can be specified.

The option -rest recovers (xxxEB recovers, expands, interpolates, ...) the response computed on the reduced model to a given selection of physical DOF. Without selection, the response is expanded to the whole physical DOF set. This option must be disabled when dealing with a full disk model.

The following example builds both direct and sythetized responses of a reduced disk model to a 2EO excitation.

 cf=demo_cyclic('testload disk 5 -nor') % reload model
 % the call to fe_cyclicb basis is already done
 fe_cyclicb('reduce 1 1 -int',cf);disk=cf.Stack{'diskmodel'};

 % External Load
 Load=fe_cyclicb('DiskEngineLoad 2',cf);
 fe_cyclicb('DiskSeDefInit',cf); 
 Rload=fe_cyclicb('DiskSeLoad',cf,Load);
 disk=fe_case(disk,'dofload','Blade_load',Rload);

 freq=[1500:5:3000]';
 disk=stack_set(disk,'info','Freq',freq);

 % Restitution to Blade Dofs
 tips=feutil('FindNode r>201',cf.mdl);
 disk=fe_case(disk,'SensDof','Sensors',disk.DOF);

 % Transfert Functions / Direct
 xFd=fe_cyclicb('disk frfd -rest',disk,.002,cf,tips);

 % Transfert Functions / Modal Synthesis
 disk=stack_set(disk,'info','EigOpt',[5 50 -1e3 11 1e-8]);
 [def,disk]=fe_cyclicb('diskeig',disk); 
 xFms=fe_cyclicb('disk frfms -rest',disk,def,.001,cf,tips);

 % Response Plots
 ci=iiplot;
 XF=iicom('curveXF');
 XF('Blade resp.D')=struct('w',xFd.data,'xf',xFd.def.','dof',xFd.DOF);
 XF('Blade resp.MS')=struct('w',xFms.data,'xf',xFms.def.','dof',xFms.DOF);
 iicom('subMagPha')
 iicom(ci,'IIxOnly',{'Blade resp.D','Blade resp.MS'})

OBSOLETE DiskPlot

This commands provides a graphical representation of the generalied quantities (modeshapes or load) on a patch whose nodes represent the generalized DOFs.

The following example deals with such representation for both the modes and a 3EO excitation.

 % Model Initialization
 cf=demo_cyclic('testload disk 5 -nor reset')

 % Model Reduction
 fe_cyclicb('reduce 1 1 -int',cf);disk=cf.Stack{'diskmodel'};

 % Mode Computations
 disk=stack_set(disk,'info','EigOpt',[5 50 -1e3 11 1e-8]);
 [def,disk]=fe_cyclicb('diskeig',disk); 
 fe_cyclicb('diskplot',3,cf,def); 

 % External Load
 Load=fe_cyclicb('DiskEngineLoad 3',cf);
 fe_cyclicb('DiskSeDefInit',cf); 
 Rload=fe_cyclicb('DiskSeLoad',cf,Load);
 fe_cyclicb('diskplot',4,cf,Rload); 

OBSOLETE Disk ... (internal commands)

DiskRest computes the Fourier Recovery Matrix associated with the specified harmonic. This function is used internally by fe_cyclicb.


DiskMatrices returns the reduced matrices assembled from the sector superelement matrices. When the option mk is specified, it returns the mass and stiffnes matrices only.

 cf=demo_cyclic('testload disk 5 -nor reset') % reload model
 fe_cyclicb('reduce 1 1 -int',cf);disk=cf.Stack{'diskmodel'};
 
 Kr0=fe_cyclicb('diskmatrices',disk);
 disk.il=[1001 1 1 250^2 250^4];
 Kr=fe_cyclicb('diskmatrices mk',disk);

PolyAssemble [, noT] supports the computations of the coefficients of the matrix polynomial from the assembly of the stiffness matrices (including gyroscopic and nonlinear tangent stiffnesses) at the given values of the parameters. Three values are required.

The following example assembles the mass and full stiffness matrices at 0, 500 and 1000 rps, then computes the modes of the free sector at 250 rps.

 % Model Initialization
 cf=demo_cyclic('testdisk 5 -blade noK -nor -cf 2');
 sector=fe_cyclicb('polyassemble noT',cf.Stack{'disk1'},[0 500 1000]);
 [Case,sector.DOF]=fe_mknl('init',sector);
 K={sector.K{1},feutilb('sumkcoef',{sector.K{2:4}},[1 250^2 250^4])};

 % Mode Computations
 def=fe_eig({K{1},K{2},Case.T,sector.DOF},[5 10 0 11]);
 cf.model=sector;cf.def=def;

OBSOLETE DiskSeDefInit

This command initializes the restitution of the generalized modes computed with the DiskEig command on the physical DOF set. The restitution bases are stored in the Stack as a 'info','SeRestit' entry which contains the following fields:

The restitution is performed with the command SeDef of fesuper. In this command, a patch can be defined as a selection of elements so that the modeshapes are expanded only to the physical DOF of their nodes.

The following example builds a reduced model, computes a set of generalized modes, then the modeshapes are recovered on the blades only.

 % Model Initialization
 cf=demo_cyclic('testload disk 5 reset') % reset file (rather than load)

 % Mode Computations
 def=fe_eig(cf.mdl,[5 20 -1e3 11 1e-8]);

 % Restitution
 cf.def=fesuper('SeDef',cf,def);

OBSOLETE DiskSeLoad

This commands transforms an external load, expressed on the physical DOF set, into a generalized load, expressed on the generalized DOF set. It is necessary to initialize the restitution of the underlying disk model, since this transformation is the inverse operation.

 % Model Initialization
 cf=demo_cyclic('testload disk 5 -nor')
 %xxx obsolete
 %Model Reduction
 fe_cyclicb('reduce 1 1 -int',cf);

 % External Load
 Load=fe_cyclicb('DiskEngineLoad 1',cf);
 fe_cyclicb('DiskSeDefInit',cf); 
 Rload=fe_cyclicb('DiskSeLoad',cf,Load);

Reduce [, -int]

The Reduce command is used to generate a disk model from a set of cyclic modes associated with multiple harmonics. The general call is

 [disk,SEsector]=fe_cyclicb('reduce NodeId0 EltId0 [-int]',model);
 fe_cyclicb('reduce NodeId0 EltId0 [-int]',cf);

The second call uses directly a global model stored in the variable cf and stores the reduced model as an entry 'info','diskmodel' in cf.Stack.

If required, new starting points for numbering the generalized DOF and the associated elements are defined in the command string through the two integers NodeId0 and EltId0.

The initial set of modes has to be given as a field TR of the model. This operation can be performed directly by using the command Basis of fe_cyclicb, as shown in the following script.

 % Model Initialization
 cf=demo_cyclic('testload disk 5 -nor -cf reset');
 fe_cyclicb('reduce 1 1 -int',cf);
 disk=cf.Stack{'diskmodel'};

The reduction basis is built by separating right, left and interior motion from the cyclic modeshapes. When the -int option is invoked, fixed interface modes of the sector are added to the set of interior modes. For more information about this procedure, refer to [11].


©1991-2023 by SDTools
Previous Up Next