SDT-base Contents Functions PDF Index |
Purpose
Support for cyclic symmetry computations.
Syntax
model=fe_cyclic('build NSEC',model,LeftNodeSelect) def=fe_cyclic('eig NDIAM',model,EigOpt)
Description
fe_cyclic groups all commands needed to compute responses assuming cyclic symmetry. For more details on the associated theory you can refer to [54].
This command supports the computations linked to the assembly of gyroscopic coupling, gyroscopic stiffness and tangent stiffness in geometrically non-linear elasticity. The input arguments are the model and the rotation vector (in rad/s)
model=demosdt('demo sector all'); [K,model,Case]=fe_case('assemble -matdes 2 1 NoT -cell',model); SE=fe_cyclic('assemble -struct',model,[0 0 1000]); % def=fe_eig({K{1:2},Case.T,model.DOF},[6 20 0]);% Non rotating modes def2=fe_eig({K{1},SE.K{4},Case.T,model.DOF},[6 20 0]); % Rotating mode shapes [def.data def2.data]
Note that the rotation speed can also be specified using a stack entry model=stack_set(model, 'info', 'Omega',[0 0 1000]).
model=fe_cyclic('build nsec epsl len',model,'LeftNodeSelect') adds a cyclic symmetry entry in the model case. It automatically rotates the nodes selected with LeftNodeSelect by 2π/nsec and finds the corresponding nodes on the other sector face. The default for LeftNodeSelect is 'GroupAll' which selects all nodes.
The alternate command model=fe_cyclic('build nsec epsl len -intersect',model,'LeftNodeSelect') is much faster but does not implement strict node tolerancing and may thus need an adjustement of epsl to higher values.
Command options are
model=demosdt('demo sector 5'); cf.model=fe_cyclic('build epsl 1e-6',model);
The command is used to build centrifugal loads based on an info,Omega stack entry in the form
data=struct('data',[0 0 1000],'unit','RPM'); model=stack_set(model,'info','Omega',data); model=fe_cyclic('LoadCentrifugal',model);
def=fe_cyclic('eig ndiam',model,EigOpt) computes ndiam diameter modes using the cyclic symmetry assumption. For ndiam>0 these modes are complex to account for the inter-sector phase shifts. EigOpt are standard options passed to fe_eig.
This example computes the two diameter modes of a three bladed disk also used in the d_cms2 demo.
model=demosdt('demo sector'); model=fe_cyclic('build 3',model,'groupall'); fe_case(model,'info') def=fe_cyclic('eig 2',model,[6 20 0 11]); fe_cyclic('display 3',model,def)
The basic functionality of this command is significantly extended in fe_cyclicb ShaftEig that is part of the SDT/Rotor toolbox.
Handling of dynamic rotating bodies. Warning At the moment only one rotation vector can be defined. It can either be applied to the whole model or to specified groups. At low level, information is located in the info,Omega entry of an SDT model. This entry is a structure with fields
Command Omega provides the current data associated to a model.
[omega,rot,data]=fe_cyclic('Omega',model);
model is a standard SDT model. The outputs are omega the rotation vector, rot the rotation matrix, and data a reconstructed info,Omega stack entry based on the current state.
Commands OmegaGroup provides tools for definition of models with specific rotor areas.
See also
fe_cyclicb