Contents     Functions              PDF Index

## fe_cyclic

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 [46].

### Assemble [,-struct]

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]).

### Build

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.

The argument nsec is optional: an automatic determination of the number of angular sectors is implemented from the angle between the left and right interface nodes with the minimum radius. This guess may fail in some situtations.

Adding a Fix option in the command will adjust node positions to make the left and right nodes sets match exactly.

```
model=demosdt('demo sector 5');
cf.model=fe_cyclic('build epsl 1e-6',model);
```

For periodic solutions, model=fe_cyclic('build -1 tx ty tz epsl len -intersect',model,'LeftNodeSelect') specifies 3 components for the spatial periodicity.

### Eig

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.