5.4. Modal Analysis of a 2D Tuning Fork

5.4.1. Problem Description

The model is an unconstrained stainless steel tuning fork. After dividing the fork into three CMS superelements, determine the vibration characteristics (natural frequencies and mode shapes) of the entire model. The first 10 eigenfrequencies are extracted, and the fourth mode shape (the first nonrigid body mode) is expanded.

5.4.1.1. Geometric and Material Properties

The geometric properties for this analysis follow.

The fork is divided into three CMS superelements:

The three interfaces are as follows:

The material properties for this analysis are as follows:

Young's modulus (E) = 190 x 109
Poisson's ratio (υ) = 0.3
Density = 7.7 x 103

5.4.1.2. Full Model Definition

Copy the following commands that define the full model and save them in an input file named full_model.inp.

/filnam,full
/units,si
blen=0.035
radi=0.025
tlen=0.1
tthk=0.005

/plopts,minm,0
/plopts,date,0
/pnum,real,1
/number,1

/prep7
k,1,-tthk/2
k,2,tthk/2
k,3,-tthk/2,blen
k,4,tthk/2,blen
local,11,1,,blen+tthk+radi
k,5,radi+tthk,-180
k,6,radi,-180
kgen,2,3,4,1,-tthk
k,9,radi
k,10,radi+tthk
a,5,6,7,3
a,3,7,8,4
a,4,8,9,10
csys,0
a,1,2,4,3
k,11,-radi-tthk,blen+tthk+radi+tlen
k,12,-radi,blen+tthk+radi+tlen
k,13,radi,blen+tthk+radi+tlen
k,14,radi+tthk,blen+tthk+radi+tlen
a,5,6,12,11
a,9,10,14,13
mshkey,1
esize,tthk/3.5
et,1,plane182,,,3
r,1,tthk
amesh,all
mp,ex,1,190e9
mp,dens,1,7.7e3
mp,nuxy,1,0.3
nsel,s,,,38
nsel,a,,,174,176
nsel,a,,,170
cm,interface1,node
nsel,s,,,175
nsel,a,,,168
nsel,a,,,180,182
nsel,a,,,38,176,138
cm,interface2,node
nsel,s,,,175
nsel,a,,,168
nsel,a,,,180,182
nsel,a,,,170,174,4
cm,interface3,node
esel,s,,,273,372
cm,part1,elem
esel,s,,,373,652
esel,a,,,1,129
esel,a,,,130
esel,a,,,133,134
esel,a,,,137,138
esel,a,,,141,142
cm,part2,elem
cmsel,s,part1
cmsel,a,part2
esel,inve
cm,part3,elem
allsel,all
save
finish

5.4.2. Fixed-Interface Method

The following sections describe the fixed-interface method of CMS analysis.

5.4.2.1. Analysis Steps

The following table describes the input listing and the steps involved in the example fixed-interface CMS analysis in more detail.

StepDescriptionCommand(s)

1.

Start an interactive session.

2.

Read the input file: full_model.inp

/INPUT,full_model,inp

3.

Perform the generation pass.

a.  Change the Jobname to PART1.

/FILNAME,PART1

b.  Specify the analysis type as substructuring.

/SOLU

ANTYPE,SUBSTR

c.  Assign a name to the superelement matrix file.

SEOPT,PART1,2

d.  Specify CMS options.

CMSOPT,FIX,10

e.  Select element component PART1.

CMSEL

f.  Select node component INTERFACE1.

CMSEL,S,INTERFACE1

g.  Set all active DOFs as masters.

M,ALL,ALL

h.  Select all nodes attached to the selected elements.

NSLE

i.  Solve the current analysis.

SOLVE

j.  Save the database.

----

As coded in the input file, generation passes for the remaining parts PART2 and PART3 occur here. Steps a through j are repeated for PART2 and again for PART3. (The Jobname and superelement matrix file name change accordingly.) Also, for passes 2 and 3, the node component is INTERFACE2 and INTERFACE3, respectively.

SAVE

4.

Perform the use pass.

a.  Clear the database.

/CLEAR,NOSTART

b.  Change the Jobname to USE.

/FILNAME,USE

c.  Define the element type.

/PREP7 ET,1,MATRIX50

d.  Define the element type attribute pointer.

TYPE,1

e.  Define the three superelements to use in the model (PART1, PART2 and PART3).

SE,PART1

SE,PART2

SE,PART3

FINISH

f.  Specify the analysis type as modal.

/SOLU

ANTYPE,MODAL

g.  Specify modal analysis options.

MODOPT,LANB,10

h.  Expand 10 modes.

MXPAND,10

i.  Solve the current analysis.

SOLVE

FINISH

5.

Perform the expansion pass.

a.  Clear the database.

/CLEAR,NOSTART

b.  Change the Jobname to PART1.

/FILNAME,PART1

c.  Resume the database.

RESUME

d.  Perform the expansion.

/SOLU

EXPASS,ON

e.  Name the superelement and use pass.

SEEXP,PART1,USE

f.  Specify the loadstep and substep to expand.

EXPSOL,1,4

g.  Solve the current analysis.

----

As coded in the input file, expansion passes for the remaining parts PART2 and PART3 occur here. Steps a through g are repeated for PART2 and again for PART3. (The Jobname and superlement name change accordingly.)

SOLVE

FINISH

6.

Read the results.

a.  Specify the superelement matrix file containing the results.

/CLEAR,NOSTART

/POST1

CMSFILE,ADD,PART1,RST

CMSFILE,ADD,PART2,RST

CMSFILE,ADD,PART3,RST

b.  Read the first data set.

SET,FIRST

c.  Plot the displacement contour in the X direction.

----

This step completes the sample fixed-interface CMS analysis. Your results should match those shown in Figure 5.1: Fixed-Interface Method Results.

PLNSOL,U,X

FINISH

5.4.2.2. Input Listing

Use this input file to perform the example CMS analysis via the fixed-interface method. The file contains the complete geometry, material properties, and components (nodes and elements).

/batch,list
/title, 2D Tuning Fork
! Component Mode Synthesis - 2D example
! The Structure is divided into 3 CMS Superelements

! STEP #1
! Start an interactive session 


finish
/clear

!STEP #2 
!Define full model

/input,full_model,inp

! STEP #3 (a. through j.)
! Generation pass

! Generation pass 1

! a.
! Change the active jobname which will become the superelement name

/filnam,part1

! b.
! Specify the analysis type as substructuring

/solu
antype,substr

! c.
! Specifies the name to be assigned to superelement matrix file
! Strongly suggested to be the same as the active jobname

seopt,part1,2

! d.
! Specifies CMS options

cmsopt,fix,10

! e.
! Selects element component named "part1"

cmsel,s,part1

! f.
! Selects node component named "interface1"

cmsel,s,interface1

! g.
! All the active DOFs (that is, on the nodes which belong to "interface1")
! are set as masters

m,all,all

! h.
! Selects all the nodes attached to the selected elements
! (that is, elements which belong to "part1")

nsle

! i.
! solve the first CMS generation pass

solve
finish

! j.
! Save the generation pass 1 database

save

! Repeat the generation pass for "part2"

! Generation pass 2

/filnam,part2
/solu
antype,substr
seopt,part2,2
cmsopt,fix,10
cmsel,s,part2
cmsel,s,interface2
m,all,all
nsle
solve
finish
save


! Repeat the generation pass for "part3"

! Generation pass 3

/filnam,part3
/solu
antype,substr
seopt,part3,2
cmsopt,fix,10
cmsel,s,part3
cmsel,s,interface3
m,all,all
nsle
solve
finish
save


! STEP #4 (a. through i.)
! Use pass

! a.
! Clears the database

/clear,nostart

! b.
! Change the active jobname which will become the use pass name

/filnam,use

! c.
! A superelement element type is created

/prep7
et,1,matrix50

! d.
! Element type attribute pointer set to 1

type,1

! e.
! Brings in the three superelements created above

se,part1
se,part2
se,part3
finish

! f.
! A modal analysis is performed

/solu
antype,modal

! g.
! Specifies modal analysis options

modopt,lanb,10

! h.
! Expands 10 modes

mxpand,10

! i.
! Solve the modal analysis

solve
finish

! STEP #5 (a. through g.)
! Expansion pass

! Expansion pass 1

! a.
! Clears the database

/clear,nostart

! b.
! Changes the jobname to superelement 1 name

/filnam,part1

! c.
! resume the database

resume

! d.
! Specifies the expansion pass

/solu
expass,on

! e.
! Specifies superelement name and use pass name

seexp,part1,use

! f.
! Specifies the loadstep and substep to be expanded

expsol,1,4

! g.
! Solve the first expansion pass

solve
finish

! Repeat the expansion pass for "part2"

! Expansion pass 2

/clear,nostart
/filnam,part2
resume
/solu
expass,on
seexp,part2,use
expsol,1,4
solve
finish

! Repeat the expansion pass for "part3"

! Expansion pass 3

/clear,nostart
/filnam,part3
resume
/solu
expass,on
seexp,part3,use
expsol,1,4
solve
finish


! STEP #6 (a. through d.)
! Reads results for "load step 1 - substep 4"

! a.
! Clears the database

/clear,nostart

! b.
! Specifies the data file where results are to be found


/post1
cmsfile,add,part1,rst
cmsfile,add,part2,rst
cmsfile,add,part3,rst

! c.
! Reads the first data set

set,first

! d.
! Plots the displacement contour in the x direction

plnsol,u,x

5.4.2.3. Results

The results of your fixed-interface CMS analysis should match those shown here:

Figure 5.1: Fixed-Interface Method Results

Fixed-Interface Method Results

5.4.2.4. Verify the Reduced Stiffness Matrix with APDL Math

This section explains how the transformation matrix of a CMS part can be read and manipulated with APDL Math commands. First, IOkey must be set to CMS on the CMSOPT command so that the static constraint modes are written to the .cms file (for more information on component modes storage in the .cms file, see Component Modes Storage). To write static constraint modes to the .cms file, the following replacement should be made in Input Listing.

In generation pass 1, the command

cmsopt,fix,10

should be replaced with

cmsopt,fix,10,,,,,CMS

When this substitution is made, the file part1.cms will contain the static constraint nodes (CST) and the fixed-interface normal modes (NOR) with DOFs in solver ordering. The following input shows how to reduce the stiffness matrix of the component named part1 using APDL Math commands:

! GET THE STATIC CONSTRAINT MODES DATA FROM THE .cms FILE
*DMAT,CSTmode,D,IMPORT,CMS,part1.cms,CST
! GET THE NORMAL MODES DATA FROM THE .cms FILE
*DMAT,NORmode,D,IMPORT,CMS,part1.cms,NOR
! CREATE THE TRANSFORMATION MATRIX
! PUT THE CST MODES FIRST
*DMAT,Tmat,D,COPY,CSTmode
! APPEND THE NOR MODES TO FINALIZE THE TRANSFORMATION MATRIX
*MERGE,Tmat,NORmode,CSTmode_colDim+1

! GET THE STIFFNESS MATRIX FROM THE .FULL FILE
*DMAT,K,D,IMPORT,FULL,part1.full,STIFF
! REDUCE THE STIFFNESS MATRIX AND PRINT
*MULT,Tmat,TRAN,K,,TmatTK
*MULT,TmatTK,,Tmat,,TmatTKTmat
*PRINT,TmatTKTmat,TmatTKTmat.txt
! GET THE REDUCED STIFFNESS MATRIX FROM THE .SUB FILE AND PRINT
*DMAT,Ksub,D,IMPORT,SUB,part1.sub,STIFF
*PRINT,Ksub,Ksub.txt

The two matrices can be verified as equal by comparing TmatTKTmat.txt and Ksub.txt. The only difference is that small terms of TmatTKTmat.txt are zeroed out in Ksub.txt.

5.4.3. Free-Interface Method

The following sections describe the free-interface method of CMS analysis.

5.4.3.1. Analysis Steps

The following table describes the input code fragment for the generation pass used in a free-interface CMS analysis. (All other analysis steps remain the same, as shown in Analysis Steps.)

StepDescriptionCommand(s)

1.

...

2.

...

3.

Perform the generation pass.

a.  Change the Jobname to PART1.

/FILNAME,PART1

b.  Specify the analysis type as substructuring.

/SOLU

ANTYPE,SUBSTR

c.  Assign a name to the superelement matrix file.

SEOPT,PART1,2

d.  Specify CMS options.

CMSOPT,FREE,10,,,FNUM,3

e.  Select element component PART1.

CMSEL

f.  Select node component INTERFACE1.

CMSEL,S,INTERFACE1

g.  Set all active DOFs as masters.

M,ALL,ALL

h.  Select all nodes attached to the selected elements.

NSLE

i.  Solve the current analysis.

SOLVE

j.  Save the database.

----

As coded in the input file, generation passes for the remaining parts PART2 and PART3 occur here. Steps a through j are repeated for PART2 and again for PART3. (The Jobname and superelement matrix file name change accordingly.) Also, for passes 2 and 3, the node component is INTERFACE2 and INTERFACE3, respectively.

SAVE

4.

...

5.

...

6.

...

5.4.3.2. Input Listing

This input file fragment shows how to set up the generation pass to perform the example CMS analysis via the free-interface method. (All other input remains the same, as shown in Input Listing.)

.
.
.
! STEP #3 (a. through j.)
! Generation pass

! Generation pass 1

! a.
! Change the active jobname which will become the superelement name

/filnam,part1

! b.
! Specify the analysis type as substructuring

/solu
antype,substr

! c.
! Specifies the name to be assigned to superelement matrix file
! Strongly suggested to be the same as the active jobname

seopt,part1,2

! d.
! Specifies CMS options

cmsopt,FREE,10,,,FNUM,3
! If not otherwise specified, the CMSOPT command default behavior
! is to automatically determine rigid body modes in the calculation

! e.
! Selects element component named "part1"

cmsel,s,part1

! f.
! Selects node component named "interface1"

cmsel,s,interface1

! g.
! All the active DOFs (that is, on the nodes which belong to "interface1")
! are set as masters

m,all,all

! h.
! Selects all the nodes attached to the selected elements
! (that is, elements which belong to "part1")

nsle

! i.
! solve the first CMS generation pass

solve
finish

! j.
! Save the generation pass 1 database

save

! Repeat the generation pass for "part2"

! Generation pass 2

/filnam,part2
/solu
antype,substr
seopt,part2,2
cmsopt,free,10,,,FNUM,3
cmsel,s,part2
cmsel,s,interface2
m,all,all
nsle
solve
finish
save

! Repeat the generation pass for "part3"

! Generation pass 3

/filnam,part3
/solu
antype,substr
seopt,part3,2
cmsopt,free,10,,,FNUM,3
cmsel,s,part3
cmsel,s,interface3
m,all,all
nsle
solve
finish
save
.
.
.

5.4.3.3. Verify the Reduced Stiffness Matrix with APDL Math

As for the fixed-interface method, this section explains how to reduce the stiffness matrix with APDL Math commands for the free-interface method.

In order to perform this procedure, IOkey must be set to CMS on the CMSOPT command. The following modification should be made to the input listing in Input Listing.

In generation pass 1, the command

cmsopt,free,10,,,FNUM,3

should be replaced with

cmsopt,free,10,,,FNUM,3,CMS

The APDL Math commands to reduce the stiffness matrix of the component named part1 is as follows:

! GET THE STATIC CONSTRAINT MODES DATA FROM THE .cms FILE
*DMAT,CSTmode,D,IMPORT,CMS,part1.cms,CST
! GET THE INERTIA RELIEF MODES DATA FROM THE .cms FILE
! THIS STEP SHOULD BE SKIPPED IF THERE IS NO IRF MODES
*DMAT,IRFmode,D,IMPORT,CMS,part1.cms,IRF
! GET THE NORMAL MODES DATA FROM THE .cms FILE
*DMAT,NORmode,D,IMPORT,CMS,part1.cms,NOR
! CREATE THE TRANSFORMATION MATRIX
! PUT THE CST MODES FIRST
*DMAT,Tmat,D,COPY,CSTmode
! IF THERE ARE IRF MODES:
! APPEND THE IRF MODES
*MERGE,Tmat,IRFmode,CSTmode_colDim+1
! APPEND THE NOR MODES TO FINALIZE THE TRANSFORMATION MATRIX
*MERGE,Tmat,NORmode,CSTmode_colDim+IRFmode_colDim+1
! IF THERE IS NO IRF MODES:
! APPEND THE NOR MODES TO FINALIZE THE TRANSFORMATION MATRIX
*MERGE,Tmat,NORmode,CSTmode_colDim+1

! GET THE STIFFNESS MATRIX FROM THE .FULL FILE
*DMAT,K,D,IMPORT,FULL,part1.full,STIFF
! REDUCE THE STIFFNESS MATRIX AND PRINT
*MULT,Tmat,TRAN,K,,TmatTK
*MULT,TmatTK,,Tmat,,TmatTKTmat
*PRINT,TmatTKTmat,TmatTKTmat.txt
! GET THE REDUCED STIFFNESS MATRIX FROM THE .SUB FILE AND PRINT
*DMAT,Ksub,D,IMPORT,SUB,part1.sub,STIFF
*PRINT,Ksub,Ksub.txt

The stiffness matrices can be verified as equal by comparing TmatTKTMat.txt and Ksub.txt.

5.4.4. Residual-Flexible Free-Interface Method

The following sections describe the residual-flexible free-interface method of CMS analysis.

5.4.4.1. Analysis Steps

The following table describes the input code fragment for the generation pass used in a residual-flexible free-interface CMS analysis. (All other analysis steps remain the same, as shown in Analysis Steps.)

StepDescriptionCommand(s)

1.

...

2.

...

3.

Perform the generation pass.

a. Change the Jobname to PART1.

/FILNAME,PART1

b. Specify the analysis type as substructuring.

/SOLU

ANTYPE,SUBSTR

c. Assign a name to the superelement matrix file.

SEOPT,PART1,2

d. Specify CMS options.

CMSOPT,RFFB,10

e. Select element component PART1.

CMSEL

f. Select node component INTERFACE1.

CMSEL,S,INTERFACE1

g. Set all active DOFs as masters.

M,ALL,ALL

h. Select all nodes attached to the selected elements.

NSLE

i. Specify pseudo-constraints.

----

Specify only the minimum number of displacement constraints necessary to prevent rigid body motion: three constraints (or fewer, depending on the element type) for 2D models and six (or fewer) for 3D models.

D,,,SUPPORT

j. Solve the current analysis.

SOLVE

k. Save the database.

----

As coded in the input file, generation passes for the remaining parts PART2 and PART3 occur here. Steps a through j are repeated for PART2 and again for PART3. (The Jobname and superelement matrix file name change accordingly.) Also, for passes 2 and 3, the node component is INTERFACE2 and INTERFACE3, respectively.

SAVE

4.

...

5.

...

6.

...

5.4.4.2. Input Listing

This input file fragment shows how to set up the generation pass to perform the example CMS analysis via the residual-flexible free-interface method. (All other input remains the same, as shown in Input Listing.)

.
.
.
! STEP #3 (a. through j.)
! Generation pass

! Generation pass 1

! a.
! Change the active jobname which will become the superelement name

/filnam,part1 

! b.
! Specify the analysis type as substructuring

/solu
antype,substr

! c.
! Specifies the name to be assigned to superelement matrix file
! Strongly suggested to be the same as the active jobname

seopt,part1,2

! d.
! Specifies CMS options

cmsopt,rffb,10

! e.
! Selects element component named "part1"

cmsel,s,part1

! f.
! Selects node component named "interface1"

cmsel,s,interface1

! g.
! All the active DOFs (that is, on the nodes which belong to "interface1")
! are set as masters

m,all,all

! h.
! Selects all the nodes attached to the selected elements
! (that is, elements which belong to "part1")

nsle

! i.
! Specify only the minimum number of displacement constraints necessary
! to prevent rigid body motion: three constraints (or fewer, depending 
! on the element type) for 2D models and six (or fewer) for 3D models.
d,430,all,support
d,440,ux,support

! j.
! solve the first CMS generation pass

solve

finish

! k.
! Save the generation pass 1 database

save

! Repeat the generation pass for "part2"

! Generation pass 2 

/filnam,part2
/solu
antype,substr
seopt,part2,2
cmsopt,rffb,10
cmsel,s,part2
cmsel,s,interface2
m,all,all
nsle
d,705,all,support
d,715,ux,support
solve
finish
save 

! Repeat the generation pass for "part3"

! Generation pass 3

/filnam,part3
/solu
antype,substr
seopt,part3,2
cmsopt,rffb,10
cmsel,s,part3
cmsel,s,interface3
m,all,all
nsle
d,1050,all,support
d,1060,ux,support
solve
finish  
save
.
.
.

5.4.4.3. Verify the Reduced Matrices with APDL Math

As for the fixed-interface method, this section explains how to reduce the stiffness matrix with APDL Math commands for the RFFB method. For the RFFB method, the IOkey setting on the CMSOPT command is not relevant, as all component modes are stored on the .cms file by default. Calculating the reduced stiffness matrix is more complicated for the RFFB method as component modes are stored in the .cms file with internal ordering.

The APDL Math input to calculate the reduced stiffness matrix for the RFFB method is as follows:

! GET THE RESIDUAL ATTACHMENT MODES DATA FROM THE .cms FILE
*DMAT,RSDmode,D,IMPORT,CMS,part1.cms,RSD
! GET THE NORMAL MODES DATA FROM THE .cms FILE
*DMAT,NORmode,D,IMPORT,CMS,part1.cms,NOR
! RSD MODES SHOULD BE REORDERED WITH AN INDEX VECTOR THAT SHOULD BE READ IN THE .SUB FILE
*XPL,OPEN,part1.sub
*XPL,READ,POS,VecPOS
*XPL,CLOSE,part1.sub
! CREATE THE TRANSFORMATION MATRIX
! PUT THE RSD MODES MODES FIRST, WHOSE COLUMNS ARE REORDERED
! WITH THE RSDmode_colDim FIRST COMPONENTS OF VecPOS
*VEC,VecPOS,I,RESIZE,RSDmode_colDim
*DMAT,Tmat,D,COPY,RSDmode,EXTRACT,,VecPOS
! APPEND NOR MODES TO FINALIZE THE TRANSFORMATION MATRIX
*MERGE,Tmat,NORmode,RSDmode_colDim+1
! AS FOR RFFB METHOD MODES ARE STORED IN THE .cms FILE IN INTERNAL ORDERING
! Tmat ROWS SHOULD BE CONVERTED FROM INTERNAL ORDERING TO BCS ORDERING
! BEFORE THE MATRIX REDUCTION 
*SMAT,Nod2Bcs,D,IMPORT,FULL,part1.full,NOD2BCS   ! import the mapping vector
*MULT,Nod2Bcs,,Tmat,,TmatB                       ! convert to the BCS set

! GET THE STIFFNESS MATRIX FROM THE .FULL FILE
*DMAT,K,D,IMPORT,FULL,part1.full,STIFF
! REDUCE THE STIFFNESS MATRIX AND PRINT
*MULT,TmatB,TRAN,K,,TmatBTK
*MULT,TmatBTK,,TmatB,,TmatBTKTmatB
*PRINT,TmatBTKTmatB,TmatBTKTmatB.txt
! GET THE REDUCED STIFFNESS MATRIX FROM THE .SUB FILE AND PRINT
*DMAT,Ksub,D,IMPORT,SUB,part1.sub,STIFF
*PRINT,Ksub,Ksub.txt

The two matrices can be verified as equal by comparing TmatTBKTmatB.txt and Ksub.txt.

5.4.5. Superelement Expansion in a Transformed Location

The following sections describe how to create a superelement from an existing superelement, apply offsets to the note and element IDs, and expand it in the transformed locations.

5.4.5.1. Analysis Steps

The following table describes the input code fragments used to create a superelement from an existing superelement, apply offsets to the node and element IDs, and then expand it in the transformed location. All other analysis steps remain the same, as shown in Analysis Steps.)

StepDescriptionCommand(s)

1.

...

2.

...

3.

Perform the generation pass.

As coded in the input file, generation passes for PART1 and PART2 occur here. (The Jobname and superelement matrix file names change accordingly.) Also, for passes 1 and 2, the node component is INTERFACE1 and INTERFACE2, respectively.

A third generation pass to generate PART3 is unnecessary. Instead, the third component of the model (named PART2SYM) will be created from the existing superelement PART2.

4.

Perform the use pass.

...

Define the three superelements to use in the model (PART1, PART2 and PART2SYM).

----

The PART2SYM superelement is created from the existing PART2 superelement.

SE,PART1

SE,PART2

*GET,NMAX,NODE,,NUM,MAX

SESYMM,PART2,X,NMAX,PART2SYM,SUB

SE,PART2SYM

CPINTF,ALL,0.001

FINISH

...

5.

Perform the expansion pass.

As coded in the input file, expansion passes for parts PART1 and PART2 occur here. (The Jobname and superelement name change accordingly.)

Obtain the third component of the model (named PART2SYM) from PART2.

/ASSIGN,RST,PART2SYM,RST

/SOLU

EXPASS,ON

SEEXP,PART2SYM,USE,,ON

Offset node and element IDs.

RSTOFF,NODE,10000

RSTOFF,ELEM,10000

Expand and solve.

EXPSOL,1,4

SOLVE

FINISH

6.

Read the results.

Specify the superelement matrix file containing the results.

/CLEAR,NOSTART

/POST1

CMSFILE,ADD,PART1,RST

CMSFILE,ADD,PART2,RST

CMSFILE,ADD,PART2SYM,RST

...
...

5.4.5.2. Input Listing

This input file fragment shows how to create a superelement from an existing superelement, apply offsets to the node and element IDs, and then expand it in the transformed location. (All other input remains the same, as shown in Input Listing.)

.
.
.
! STEP #3
! Generation pass

! Generation pass 1

/filnam,part1
/solu
antype,substr
seopt,part1,2
cmsopt,fix,10
cmsel,s,part1
cmsel,s,interface1
m,all,all
nsle
solve
finish
save

! Generation pass 2

/filnam,part2
/solu
antype,substr
seopt,part2,2
cmsopt,fix,10
cmsel,s,part2
cmsel,s,interface2
m,all,all
nsle
solve
finish
save

! No generation pass is necessary for PART3. We will
! create the third component of the model from the existing 
! superelement PART2 and name it PART2SYM

! STEP #4
! Use pass

/clear,nostart
/filnam,use

/prep7
et,1,matrix50
type,1

! Define the three superelements to use in the model

se,part1
se,part2
*get,nmax,node,,num,max
sesymm,part2,x,nmax,part2sym,sub
se,part2sym
cpintf,all,0.001
finish

/solu
antype,modal
modopt,lanb,10
mxpand,10

solve
finish

! STEP #5
! Expansion pass

! Expansion pass 1

/clear,nostart
/filnam,part1
resume
/solu
expass,on
seexp,part1,use
expsol,1,4
solve
finish

! Expansion pass 2

/clear,nostart
/filnam,part2
resume
/solu
expass,on
seexp,part2,use
expsol,1,4
solve
finish

! Obtain the third part of the model from PART2
! Expand the solution in the transformed location

/assign,rst,part2sym,rst
/solu
expass,on
seexp,part2sym,use,,on
!     Offset node and element IDs in the new superelement
rstoff,node,10000
rstoff,elem,10000
expsol,1,4
solve
finish


! STEP #6
! Reads results for "load step 1 - substep 4"


! Specify the data file where results are to be found

/clear,nostart
/post1
cmsfile,add,part1,rst
cmsfile,add,part2,rst
cmsfile,add,part2sym,rst

5.4.6. Reduce the Damping Matrix and Compare Full and CMS Results with RSTMAC

This section demonstrates how to introduce damping in the tuning fork model described in Modal Analysis of a 2D Tuning Fork. RSTMAC is then used to compare complex results obtained by the full and CMS models. The procedure is as follows:

  1. The modal analysis is performed for the full model with nodes located at y=0 fixed. Damping is introduced in one zone of part 2 and one zone of part 3 using a material mass matrix multiplier (MP,ALPD) and a material stiffness matrix multiplier (MP,BETD):

    /batch,list
    /title, 2D Tuning Fork with damping
    
    ! Include the geometry, material properties
    /input,full_model,inp
    
    /filname,fork_full
    /prep7
    
    ! Fix base
    
    nsel,s,loc,y,0,0
    d,all,all
    allsel,all
    
    ! Damping elements
    
    et,2,plane182,,,3
    r,1,tthk
    mp,ex,2,190e9
    mp,dens,2,7.7e3
    mp,nuxy,2,0.3
    mp,alpd,2,.1        ! Mass matrix multiplier 
    mp,betd,2,1e-6      ! Stiffness matrix multiplier 
    
    type,2
    mat,2
    esel,s,,,501,652    ! Damped material applied on a zone of part 2
    emodif,all
    
    et,3,plane182,,,3
    r,1,tthk
    mp,ex,3,190e9
    mp,dens,3,7.7e3
    mp,nuxy,3,0.3
    mp,alpd,3,.1
    mp,betd,3,2e-6
    
    type,3
    mat,3
    esel,s,,,781,932    ! Damped material applied on a zone of part 3
    emodif,all
    
    allsel,all
    fini
    save
    
    /sol
    antype,modal
    modopt,qrdamp,8,,,on   ! QRDAMP solver is used to extract the complex eigenmodes
    mxpand,all
    solve
    fini
    
    ! Print real and imaginary parts of some modes for nodes 1 to 20
    
    /post1
    nsel,s,node,,1,20
    set,list   ! Print a summary of load step and substeps
    set,1,1    ! Real part
    prdi
    set,1,1,,2 ! Imaginary part
    prdi
    set,1,4    ! Real part
    prdi
    set,1,4,,2 ! Imaginary part
    prdi
    fini
    
  2. The analysis is performed using a CMS analysis with fixed-interface method:

    /clear,nostart
    
    /input,full_model,inp
    
    
    /filname,fork_cms_fixed
    /prep7
    
    ! Fix base
    
    nsel,s,loc,y,0,0
    d,all,all
    allsel,all
    
    ! Damping element
    
    et,2,plane182,,,3
    r,1,tthk
    mp,ex,2,190e9
    mp,dens,2,7.7e3
    mp,nuxy,2,0.3
    mp,alpd,2,.1
    mp,betd,2,1e-6
    
    type,2
    mat,2
    esel,s,,,501,652
    emodif,all
    
    et,3,plane182,,,3
    r,1,tthk
    mp,ex,3,190e9
    mp,dens,3,7.7e3
    mp,nuxy,3,0.3
    mp,alpd,3,.1
    mp,betd,3,2e-6
    
    type,3
    mat,3
    esel,s,,,781,932
    emodif,all
    
    allsel,all
    save
    fini
    
    ! Generation pass 1
    
    /filname,part1
    /solu
    antype,substr
    seopt,part1,2,1  ! No damping, only stiffness and mass matrices are reduced
    cmsopt,fix,10
    cmsel,s,part1
    cmsel,s,interface1
    m,all,all
    nsle
    solve
    fini
    save
    
    ! Generation pass 2
    
    /filname,part2
    /solu
    antype,substr
    seopt,part2,3,1  ! Stiffness, mass and damping matrices are reduced
    cmsopt,fix,10
    cmsel,s,part2
    cmsel,s,interface2
    m,all,all
    nsle
    solve
    fini
    save
    
    ! Generation pass 3
    
    /filname,part3
    /solu
    antype,substr
    seopt,part3,3,1  ! Stiffness, mass and damping matrices are reduced
    cmsopt,fix,10
    cmsel,s,part3
    cmsel,s,interface3
    m,all,all
    nsle
    solve
    fini
    save
    
    ! Use pass
    
    /clear,nostart
    /filnam,use
    
    /prep7
    et,1,matrix50
    type,1
    se,part1
    se,part2
    se,part3
    fini
    
    /solu
    antype,modal
    modopt,qrdamp,8,,,on   ! QRDAMP solver is used to extract the complex eigenmodes
    mxpand,all
    solve
    fini
    
    /post1
    set,list         ! Print a summary of load step and substeps after use pass
    fini
    
    ! Expansion pass 1
    
    /clear,nostart
    /filname,part1
    resume
    /solu
    expass,on
    seexp,part1,use
    numexp,all         ! All solutions are expanded
    solve
    fini
    
    ! Expansion pass 2
    
    /clear,nostart
    /filnam,part2
    resume
    /solu
    expass,on
    seexp,part2,use
    numexp,all
    solve
    fini
    
    ! Expansion pass 3
    
    /clear,nostart
    /filnam,part3
    resume
    /solu
    expass,on
    seexp,part3,use
    numexp,all
    solve
    fini
    
    ! Print real and imaginary parts of some modes for nodes 1 to 20
    
    /clear,nostart
    /post1
    cmsfile,add,part1,rst
    set,list               ! Print a summary of load step and substeps after expansion pass
    cmsfile,add,part2,rst
    cmsfile,add,part3,rst
    set,1,1                ! Real part
    nsel,s,node,,1,20
    prdi
    set,1,1,,2             ! Imaginary part
    prdi
    set,1,4                ! Real part
    prdi
    set,1,4,,2             ! Imaginary part
    prdi
    
    cmsfile,clear
    
    fini
    
  3. Real and imaginary parts of the eight modes are appended and written in file fork_cms_fixed.rst:

    /clear,nostart
    /filname,fork_cms_fixed
    
    resume,,,
    fini
    
    /post1
    *do,j,1,8
    
    ! Append the real part of the 3 substructures
    file,part1 
    append,1,j,,
    file,part2 
    append,1,j,,
    file,part3 
    append,1,j,,
    
    ! Write the appended real part in the result file
    ! "1" indicates that complex results are written
    
    reswrite,fork_cms_fixed,,,,1
    
    ! Append the imaginary parts of the 3 substructures
    file,part1  
    append,1,j,,1
    file,part2  
    append,1,j,,1
    file,part3  
    append,1,j,,1
    
    ! Write the appended imaginary part in the result file
    ! "1" indicates that complex results are written
    
    reswrite,fork_cms_fixed,,,,1
    *enddo
    
  4. Finally, eigenmodes of the full model (fork_full.rst) and eigenmodes of the CMS model after expansion (fork_cms_fixed.rst) are compared using the RSTMAC command:

    rstmac,fork_full,1,all,fork_cms_fixed,1,all,,,,2
    fini
    

    The results show good agreement:

        ****** Modal Assurance Criterion (MAC) VALUES ******
                        Solutions are complex
        Rows:      8 substeps in load step  1 from file fork_full.rst
        Columns:   8 substeps in load step  1 from file fork_cms_fixed.rst
    
               1       2       3       4       5       6       7       8
        1   1.000   0.000   0.000   0.000   0.000   0.000   0.000   0.000
        2   0.000   1.000   0.000   0.000   0.000   0.000   0.000   0.000
        3   0.000   0.000   1.000   0.000   0.000   0.000   0.000   0.000
        4   0.000   0.000   0.000   1.000   0.000   0.000   0.000   0.000
        5   0.000   0.000   0.000   0.000   1.000   0.000   0.000   0.000
        6   0.000   0.000   0.000   0.000   0.000   1.000   0.001   0.000
        7   0.000   0.000   0.000   0.000   0.000   0.001   1.000   0.000
        8   0.000   0.000   0.000   0.000   0.000   0.000   0.000   1.000
    
     *** NOTE ***                            CP =       0.000   TIME= 00:00:00
     Solutions matching in RSTMAC command succeeded.
      8 pairs of solutions have a Modal Assurance Criterion (MAC) value
     greater than the smallest acceptable value (.9).
    
       ********************************** MATCHED SOLUTIONS **********************************
        Substep in         Substep in           MAC value       Frequency          Frequency
          fork_full.rst       fork_cms_fixed.rst              difference (Hz)       error (%)
              1                   1               1.000         -0.49E-06            0.0
              2                   2               1.000          0.15E-06            0.0
              3                   3               1.000         -0.17E-02            0.0
              4                   4               1.000         -0.23E-05            0.0
              5                   5               1.000         -0.13E+00            0.0
              6                   6               1.000         -0.13E+00            0.0
              7                   7               1.000         -0.36E-03            0.0
              8                   8               1.000         -0.14E-01            0.0
    

    Note:  If you repeat the whole process, you must delete previous .rst files to avoid appending results of the new analysis to the previous file. The following commands can be used in this case:

    /inquire,test,exist,fork_full,rst
    *if,test,eq,1,then
    /delete,fork_full,rst
    *endif
    /inquire,test,exist,fork_cms_fixed,rst
    *if,test,eq,1,then
    /delete,fork_cms_fixed,rst
    *endif