!   TITLE:  ssgear2.mac (MMA)
!
!-----------------------------------------------------------------------
!       Rev -   10/09/2009      D. Edwards
!-----------------------------------------------------------------------
!
!   Stop screw gear assy - 454834-7 rev D, 454805-1007 Rev H 
!   
!   Usage:  ssgear2,Lcase,spart
!
!   Analyze with nut load and screw shoulder loads:
!
!       Lcase = 0 for Course Nut Load Case
!       Lcase = 1 for Screw Shoulder Load Case
!
!       spart:  Single Part - give the part area name to build, do not
!                             apply constraints or solve.
!               If spart=0, build and solve the assembly.
!
!  NOTE: Bearing static load rating based on 580 ksi is 9100#.
!
!   CS_0:       Cartesian axis of rotation Coordinate System
!   CS_1:       Cylindrical axis of rotation Coordinate System
!   CS_2:       Spherical axis of rotation Coordinate System
!
!
!************************** TABLE OF CONTENTS **************************
!
!       Model Assembly Preparation
!
!   1.  Parameter List
!   2.  Model Coordinate System
!   3.  Solid Model
!
!********************* Model Assembly Preparation **********************
!
mod_assemb_prep !,arg1,arg2,arg3        ! prepare database for assembly
!
!<<<<<<<<<<<<<<<<<<<<<<<< 1.  Parameter List >>>>>>>>>>>>>>>>>>>>>>>>>>
!
Lcase=arg1
ssgear2.parm
!
!<<<<<<<<<<<<<<<<<<<< 2.  Model Coordinate System >>>>>>>>>>>>>>>>>>>>>
!
mod_coord_system,acs,xc,yc,zc,rotxyc,rotyzc,rotzxc
!
!<<<<<<<<<<<<<<<<<<<<<<<<<<< 3.  Solid Model >>>>>>>>>>>>>>>>>>>>>>>>>>
!

!
!--------------------------- 3.1) Top two Washers (w0 & w1) -----------------------
!
!*go,:W01
*if,Lcase,eq,0,then
k,km+1,w1Px1,w1Py1,w1Pz1             ! km + 1
k,km+2,w1Px2,w1Py2,w1Pz2             ! km + 2
k,km+3,w1Px3,w1Py3,w1Pz3             ! km + 3
k,km+4,w1Px4,w1Py4,w1Pz4             ! km + 4
k,km+5,w1Px5,w1Py5,w1Pz5             ! km + 5
k,km+6,w1Px6,w1Py6,w1Pz6             ! km + 6
k,km+7,w1Px7,w1Py7,w1Pz7             ! km + 7
k,km+8,w1Px8,w1Py8,w1Pz8             ! km + 8
k,km+9,w1Px9,w1Py9,w1Pz9             ! km + 9
k,km+10,w1Px10,w1Py10,w1Pz10         ! km + 10
k,km+11,w1Px11,w1Py11,w1Pz11         ! km + 11
k,km+12,w1Px12,w1Py12,w1Pz12         ! km + 12
k,km+13,w1Px13,w1Py13,w1Pz13         ! km + 13
k,km+14,w1Px14,w1Py14,w1Pz14         ! km + 14
k,km+15,w1Px15,w1Py15,w1Pz15         ! km + 15

L,km+1,km+2                          ! lm + 1
L,km+3,km+4                          ! lm + 2
L,km+5,km+6                          ! lm + 3
L,km+7,km+8                          ! lm + 4
L,km+9,km+10                         ! lm + 5
L,km+4,km+2                          ! lm + 6
L,km+6,km+8                          ! lm + 7
L,km+11,km+12                        ! lm + 8
L,km+13,km+1                         ! lm + 9
L,km+10,km+13                        ! lm + 10
L,km+14,km+3                         ! lm + 11
L,km+15,km+7                         ! lm + 12
L,km+9,km+14                         ! lm + 13
L,km+12,km+15                        ! lm + 14
L,km+11,km+5                         ! lm + 15

lsel,s,loc,y,w1Py4,w1Py2
al,all                  !Upper Upper Washer (w0)
init_entity_num
aw0=am

lsel,s,loc,y,w1Py6,w1Py8
al,all                  !Lower Upper Washer (w1)
init_entity_num
aw1=am

km_w1=km
lm_w1=lm

*endif
:W01

!
!--------------------------- 3.2) Stop Screw Gear --------------------------
!
!*go,:SSG
k,km+1,gPx1,gPy1,gPz1                ! km + 1
k,km+2,gPx2,gPy2,gPz2                ! km + 2
k,km+3,gPx3,gPy3,gPz3                ! km + 3
k,km+4,gPx4,gPy4,gPz4                ! km + 4
k,km+5,gPx5,gPy5,gPz5                ! km + 5
k,km+6,gPx6,gPy6,gPz6                ! km + 6
k,km+7,gPx7,gPy7,gPz7                ! km + 7
k,km+8,gPx8,gPy8,gPz8                ! km + 8
k,km+9,gPx9,gPy9,gPz9                ! km + 9
k,km+10,gPx10,gPy10,gPz10            ! km + 10
k,km+11,gPx11,gPy11,gPz11            ! km + 11
k,km+12,gPx12,gPy12,gPz12            ! km + 12
k,km+13,gPx13,gPy13,gPz13            ! km + 13 (center)
k,km+14,gPx14,gPy14,gPz14            ! km + 14
k,km+15,gPx15,gPy15,gPz15            ! km + 15
k,km+16,gPx16,gPy16,gPz16            ! km + 16
k,km+17,gPx17,gPy17,gPz17            ! km + 17
k,km+18,gPx18,gPy18,gPz18            ! km + 18
k,km+19,gPx19,gPy19,gPz19            ! km + 19 (center)
k,km+20,gPx20,gPy20,gPz20            ! km + 20
k,km+21,gPx21,gPy21,gPz21            ! km + 21
k,km+22,gPx22,gPy22,gPz22            ! km + 22
k,km+23,gPx23,gPy23,gPz23            ! km + 23
k,km+24,gPx24,gPy24,gPz24            ! km + 24 (center)
k,km+25,gPx25,gPy25,gPz25            ! km + 25
k,km+26,gPx26,gPy26,gPz26            ! km + 26
k,km+27,gPx27,gPy27,gPz27            ! km + 27
k,km+28,gPx28,gPy28,gPz28            ! km + 28
k,km+29,gPx29,gPy29,gPz29            ! km + 29 (center)
k,km+30,gPx30,gPy30,gPz30            ! km + 30
k,km+31,gPx31,gPy31,gPz31            ! km + 31
k,km+32,gPx32,gPy32,gPz32            ! km + 32 (center)
k,km+33,gPx33,gPy33,gPz33            ! km + 33
k,km+34,gPx34,gPy34,gPz34            ! km + 34
k,km+35,gPx35,gPy35,gPz35            ! km + 35
k,km+36,gPx36,gPy36,gPz36            ! km + 36 (center)
k,km+37,gPx37,gPy37,gPz37            ! km + 37
k,km+38,gPx38,gPy38,gPz38            ! km + 38
k,km+39,gPx39,gPy39,gPz39            ! km + 39
k,km+40,gPx40,gPy40,gPz40            ! km + 40 (center)
k,km+41,gPx41,gPy41,gPz41            ! km + 41 (center)

L,km+1,km+2                          ! lm + 1
L,km+3,km+4                          ! lm + 2
L,km+3,km+5                          ! lm + 3
L,km+6,km+4                          ! lm + 4
L,km+5,km+7                          ! lm + 5
L,km+6,km+8                          ! lm + 6
L,km+9,km+10                         ! lm + 7
larc,km+11,km+12,km+13,gDr1          ! lm + 8
larc,km+12,km+10,km+13,gDr2          ! lm + 9
L,km+14,km+11                        ! lm + 10
L,km+15,km+16                        ! lm + 11
larc,km+17,km+18,km+19,gDr3          ! lm + 12
L,km+20,km+16                        ! lm + 13
L,km+21,km+17                        ! lm + 14
L,km+15,km+18                        ! lm + 15
L,km+22,km+23                        ! lm + 16
larc,km+22,km+8,km+24,gDr4           ! lm + 17
L,km+25,km+26                        ! lm + 18
L,km+27,km+28                        ! lm + 19
larc,km+28,km+26,km+29,gDr5          ! lm + 20
L,km+7,km+27                         ! lm + 21
L,km+30,km+14                        ! lm + 22
L,km+31,km+20                        ! lm + 23
larc,km+31,km+30,km+32,gDr6          ! lm + 24
L,km+33,km+34                        ! lm + 25
larc,km+33,km+35,km+36,gDr7          ! lm + 26
L,km+35,km+23                        ! lm + 27
L,km+37,km+38                        ! lm + 28
larc,km+39,km+34,km+40,gDr8          ! lm + 29
L,km+21,km+37                        ! lm + 30
L,km+39,km+9                         ! lm + 31
L,km+25,km+1                         ! lm + 32
larc,km+2,km+38,km+41,gDr9           ! lm + 33

lsel,u,line,,1,lm_w1
al,all
init_entity_num
km_ssg=km
lm_ssg=lm
assg=am

:SSG

!
!--------------------------- 3.3) Bushing (bu) ------------------------------
!
!*go,:BU
k,km+1,buPx1,buPy1,buPz1             ! km + 1
k,km+2,buPx2,buPy2,buPz2             ! km + 2
k,km+3,buPx3,buPy3,buPz3             ! km + 3
k,km+4,buPx4,buPy4,buPz4             ! km + 4
k,km+5,buPx5,buPy5,buPz5             ! km + 5
k,km+6,buPx6,buPy6,buPz6             ! km + 6
k,km+7,buPx7,buPy7,buPz7             ! km + 7
k,km+8,buPx8,buPy8,buPz8             ! km + 8
k,km+9,buPx9,buPy9,buPz9             ! km + 9
k,km+10,buPx10,buPy10,buPz10         ! km + 10
k,km+11,buPx11,buPy11,buPz11         ! km + 11
k,km+12,buPx12,buPy12,buPz12         ! km + 12 (center)

L,km+1,km+2                          ! lm + 1
L,km+3,km+4                          ! lm + 2
L,km+5,km+4                          ! lm + 3
L,km+6,km+7                          ! lm + 4
L,km+8,km+5                          ! lm + 5
L,km+9,km+8                          ! lm + 6
L,km+3,km+2                          ! lm + 7
L,km+7,km+10                         ! lm + 8
L,km+11,km+6                         ! lm + 9
L,km+11,km+1                         ! lm + 10
larc,km+10,km+9,km+12,buDr1          ! lm + 11

lsel,u,line,,1,lm_ssg
al,all
init_entity_num
km_bu=km
lm_bu=lm
abu=am

:BU

!
!--------------------------- 3.4) Thermal Spacer (ts) ----------------------
!
!*go,:TS
k,km+1,tsPx1,tsPy1,tsPz1             ! km + 1
k,km+2,tsPx2,tsPy2,tsPz2             ! km + 2
k,km+3,tsPx3,tsPy3,tsPz3             ! km + 3
k,km+4,tsPx4,tsPy4,tsPz4             ! km + 4
k,km+5,tsPx5,tsPy5,tsPz5             ! km + 5

L,km+1,km+2                          ! lm + 1
L,km+3,km+4                          ! lm + 2
L,km+5,km+3                          ! lm + 3
L,km+1,km+5                          ! lm + 4
L,km+4,km+2                          ! lm + 5

lsel,u,line,,1,lm_bu
al,all
init_entity_num
km_ts=km
lm_ts=lm
ats=am

:TS


!
!--------------------------- 3.5) Spacer (s) -------------------------------
!
!*go,:S

k,km+1,sPx1,sPy1,sPz1                ! km + 1
k,km+2,sPx2,sPy2,sPz2                ! km + 2
k,km+3,sPx3,sPy3,sPz3                ! km + 3
k,km+4,sPx4,sPy4,sPz4                ! km + 4
k,km+5,sPx5,sPy5,sPz5                ! km + 5
k,km+6,sPx6,sPy6,sPz6                ! km + 6
k,km+7,sPx7,sPy7,sPz7                ! km + 7
k,km+8,sPx8,sPy8,sPz8                ! km + 8
k,km+9,sPx9,sPy9,sPz9                ! km + 9
k,km+10,sPx10,sPy10,sPz10            ! km + 10 (center)
k,km+11,sPx11,sPy11,sPz11            ! km + 11
k,km+12,sPx12,sPy12,sPz12            ! km + 12
k,km+13,sPx13,sPy13,sPz13            ! km + 13
k,km+14,sPx14,sPy14,sPz14            ! km + 14 (center)

L,km+1,km+2                          ! lm + 1
L,km+3,km+4                          ! lm + 2
L,km+5,km+6                          ! lm + 3
L,km+6,km+7                          ! lm + 4
L,km+8,km+9                          ! lm + 5
larc,km+7,km+8,km+10,sDr1            ! lm + 6
L,km+9,km+4                          ! lm + 7
L,km+11,km+1                         ! lm + 8
L,km+5,km+11                         ! lm + 9
L,km+12,km+3                         ! lm + 10
L,km+2,km+13                         ! lm + 11
larc,km+12,km+13,km+14,sDr2          ! lm + 12

lsel,u,line,,1,lm_ws
al,all
init_entity_num
km_s=km
lm_s=lm
as=am

:S
!
!--------------------- 3.6) Lower Washers (w2 & w3) -------------------
!
!*go,:W23

k,km+1,w2Px1,w2Py1,w2Pz1             ! km + 1
k,km+2,w2Px2,w2Py2,w2Pz2             ! km + 2
k,km+3,w2Px3,w2Py3,w2Pz3             ! km + 3
k,km+4,w2Px4,w2Py4,w2Pz4             ! km + 4
k,km+5,w2Px5,w2Py5,w2Pz5             ! km + 5
k,km+6,w2Px6,w2Py6,w2Pz6             ! km + 6
k,km+7,w2Px7,w2Py7,w2Pz7             ! km + 7
k,km+8,w2Px8,w2Py8,w2Pz8             ! km + 8
k,km+9,w2Px9,w2Py9,w2Pz9             ! km + 9
k,km+10,w2Px10,w2Py10,w2Pz10         ! km + 10
k,km+11,w2Px11,w2Py11,w2Pz11         ! km + 11
k,km+12,w2Px12,w2Py12,w2Pz12         ! km + 12
k,km+13,w2Px13,w2Py13,w2Pz13         ! km + 13
k,km+14,w2Px14,w2Py14,w2Pz14         ! km + 14

L,km+1,km+2                          ! lm + 1
L,km+3,km+4                          ! lm + 2
L,km+5,km+6                          ! lm + 3
L,km+7,km+8                          ! lm + 4
L,km+9,km+1                          ! lm + 5
L,km+4,km+2                          ! lm + 6
L,km+10,km+11                        ! lm + 7
L,km+6,km+8                          ! lm + 8
L,km+9,km+12                         ! lm + 9
L,km+11,km+13                        ! lm + 10
L,km+12,km+3                         ! lm + 11
L,km+13,km+7                         ! lm + 12
L,km+10,km+14                        ! lm + 13
L,km+14,km+5                         ! lm + 14

lsel,s,loc,y,w2Py9,w2Py1
al,all                  !Upper Lower Washer (w2)
init_entity_num
aw2=am

lsel,s,loc,y,w2Py10,w2Py11
al,all                  !Lower Lower Washer (w3)
init_entity_num
aw3=am

km_w2=km
lm_w2=lm

:W23

!
!-------- 3.7) Simulated Thrust Bearing Rollers --------------------
!
!*go,:BRG

k,km+1,brgPx1,brgPy1,brgPz1          ! km + 1
k,km+2,brgPx2,brgPy2,brgPz2          ! km + 2
k,km+3,brgPx3,brgPy3,brgPz3          ! km + 3
k,km+4,brgPx4,brgPy4,brgPz4          ! km + 4
k,km+5,brgPx5,brgPy5,brgPz5          ! km + 5
k,km+6,brgPx6,brgPy6,brgPz6          ! km + 6
k,km+7,brgPx7,brgPy7,brgPz7          ! km + 7
k,km+8,brgPx8,brgPy8,brgPz8          ! km + 8
k,km+9,brgPx9,brgPy9,brgPz9          ! km + 9
k,km+10,brgPx10,brgPy10,brgPz10      ! km + 10
k,km+11,brgPx11,brgPy11,brgPz11      ! km + 11
k,km+12,brgPx12,brgPy12,brgPz12      ! km + 12
k,km+13,brgPx13,brgPy13,brgPz13      ! km + 13 (center)
k,km+14,brgPx14,brgPy14,brgPz14      ! km + 14 (center)
k,km+15,brgPx15,brgPy15,brgPz15      ! km + 15 (center)
k,km+16,brgPx16,brgPy16,brgPz16      ! km + 16 (center)
k,km+17,brgPx17,brgPy17,brgPz17      ! km + 17
k,km+18,brgPx18,brgPy18,brgPz18      ! km + 18
k,km+19,brgPx19,brgPy19,brgPz19      ! km + 19
k,km+20,brgPx20,brgPy20,brgPz20      ! km + 20
k,km+21,brgPx21,brgPy21,brgPz21      ! km + 21 (center)
k,km+22,brgPx22,brgPy22,brgPz22      ! km + 22 (center)
k,km+23,brgPx23,brgPy23,brgPz23      ! km + 23 (center)
k,km+24,brgPx24,brgPy24,brgPz24      ! km + 24 (center)

L,km+1,km+2                          ! lm + 1
L,km+3,km+4                          ! lm + 2
L,km+5,km+6                          ! lm + 3
L,km+7,km+8                          ! lm + 4
L,km+9,km+10                         ! lm + 5
L,km+11,km+12                        ! lm + 6
larc,km+5,km+10,km+13,brgDr1         ! lm + 7
larc,km+9,km+3,km+14,brgDr2          ! lm + 8
larc,km+4,km+7,km+15,brgDr3          ! lm + 9
larc,km+8,km+6,km+16,brgDr4          ! lm + 10
L,km+17,km+18                        ! lm + 11
L,km+19,km+20                        ! lm + 12
larc,km+19,km+18,km+21,brgDr5        ! lm + 13
larc,km+17,km+1,km+22,brgDr6         ! lm + 14
larc,km+2,km+11,km+23,brgDr7         ! lm + 15
larc,km+12,km+20,km+24,brgDr8        ! lm + 16

lsel,u,line,,1,lm_w2
lsel,r,loc,y,brgPy3,brgPy5      !Upper Rollers (brg1)
al,all
init_entity_num
abrg1=am

lsel,s,loc,y,brgPy1,brgPy19      !Lower Roller (brg2)
lsel,u,line,,1,lm_w2
al,all
init_entity_num
abrg2=am

km_brg2=km
lm_brg2=lm

:BRG

!
!--------------------------- 3.8) Brake Slide (bs) ---------------------
!
!*go,:BS

k,km+1,bsPx1,bsPy1,bsPz1             ! km + 1
k,km+2,bsPx2,bsPy2,bsPz2             ! km + 2
k,km+3,bsPx3,bsPy3,bsPz3             ! km + 3
k,km+4,bsPx4,bsPy4,bsPz4             ! km + 4
k,km+5,bsPx5,bsPy5,bsPz5             ! km + 5
k,km+6,bsPx6,bsPy6,bsPz6             ! km + 6
k,km+7,bsPx7,bsPy7,bsPz7             ! km + 7
k,km+8,bsPx8,bsPy8,bsPz8             ! km + 8
k,km+9,bsPx9,bsPy9,bsPz9             ! km + 9
k,km+10,bsPx10,bsPy10,bsPz10         ! km + 10
k,km+11,bsPx11,bsPy11,bsPz11         ! km + 11
k,km+12,bsPx12,bsPy12,bsPz12         ! km + 12
k,km+13,bsPx13,bsPy13,bsPz13         ! km + 13
k,km+14,bsPx14,bsPy14,bsPz14         ! km + 14
k,km+15,bsPx15,bsPy15,bsPz15         ! km + 15
k,km+16,bsPx16,bsPy16,bsPz16         ! km + 16
k,km+17,bsPx17,bsPy17,bsPz17         ! km + 17 (center)
k,km+18,bsPx18,bsPy18,bsPz18         ! km + 18
k,km+19,bsPx19,bsPy19,bsPz19         ! km + 19 (center)

L,km+1,km+2                          ! lm + 1
L,km+3,km+4                          ! lm + 2
L,km+5,km+6                          ! lm + 3
L,km+7,km+8                          ! lm + 4
L,km+5,km+9                          ! lm + 5
L,km+10,km+11                        ! lm + 6
L,km+9,km+12                         ! lm + 7
L,km+13,km+11                        ! lm + 8
L,km+12,km+14                        ! lm + 9
L,km+14,km+13                        ! lm + 10
L,km+3,km+15                         ! lm + 11
L,km+8,km+4                          ! lm + 12
L,km+16,km+15                        ! lm + 13
L,km+1,km+16                         ! lm + 14
larc,km+6,km+2,km+17,bsDr1           ! lm + 15
larc,km+18,km+10,km+19,bsDr2         ! lm + 16
larc,km+7,km+18,km+19,bsDr3          ! lm + 17

lsel,u,line,,1,lm_brg2
al,all
init_entity_num
km_bs=km
lm_bs=lm
abs=am

:BS
!
!--------------------------- 3.9) Course Nut --------------------------
!
!*go,:CN

k,km+1,cnPx1,cnPy1,cnPz1             ! km + 1
k,km+2,cnPx2,cnPy2,cnPz2             ! km + 2
k,km+3,cnPx3,cnPy3,cnPz3             ! km + 3
k,km+4,cnPx4,cnPy4,cnPz4             ! km + 4
k,km+5,cnPx5,cnPy5,cnPz5             ! km + 5
k,km+6,cnPx6,cnPy6,cnPz6             ! km + 6 (center)
k,km+7,cnPx7,cnPy7,cnPz7             ! km + 7
k,km+8,cnPx8,cnPy8,cnPz8             ! km + 8
k,km+9,cnPx9,cnPy9,cnPz9             ! km + 9
k,km+10,cnPx10,cnPy10,cnPz10         ! km + 10
k,km+11,cnPx11,cnPy11,cnPz11         ! km + 11
k,km+12,cnPx12,cnPy12,cnPz12         ! km + 12

L,km+1,km+2                          ! lm + 1
L,km+3,km+2                          ! lm + 2
L,km+4,km+3                          ! lm + 3
larc,km+1,km+5,km+6,cnDr1            ! lm + 4
L,km+7,km+5                          ! lm + 5
L,km+8,km+7                          ! lm + 6
L,km+9,km+8                          ! lm + 7
L,km+10,km+9                         ! lm + 8
L,km+11,km+4                         ! lm + 9
L,km+10,km+12                        ! lm + 10
L,km+12,km+11                        ! lm + 11

lsel,u,line,,1,lm_bs
al,all
init_entity_num
km_cn=km
lm_cn=lm
acn=am

:CN

! Turn on KP and line numbers & switch to front view.
/pnum,kp,1
/pnum,line,1
view,'f'
lplot

!
!----------------------------- 4.  FE Model ---------------------------
!

! Use a finer mesh for the contact/coupled elements
cesize=0.002
!
! Course Nut/Washer
! Upper Bearing/Upper Washer
! Washer/Stop Screw Gear
lsel,s,loc,y,gPy9,cnPy7
lsel,r,loc,x,w1Px2,gPx39
lesize,all,cesize

! Bushing/ts
lsel,s,loc,y,tsPy1
lesize,all,cesize

! Stop Screw Gear/Bushing
! Bushing/Thermal Spacer
! Thermal Spacer/Spacer
!lsel,s,loc,x,gPx37,buPx3
!lsel,r,loc,y,buPy5,gPy1
lsel,s,loc,y,wsPy1,wsPy4
lesize,all,cesize

! Spacer/Washer
! Upper Washer/Lower Bearing
! Lower Bearing/Lower Washer
! Washer/Brake Slide
lsel,s,loc,y,bsPy4,sPy1
lesize,all,cesize

! Brake Slide Fillet
lsel,s,loc,y,bsPy18-bsDr2+.001,bsPy18+bsDr2
lesize,all,cesize

! MESHING:
!              (1)     (2)     (3)   (4)    (5)    (6)    (7)  (8)   (9)
!   MSH_AREA, mstyp, mshdens, etpa, elmnl, elmxl, lszmsh, mat, real, ecs
!
esize=0.015     ! Element sizing parameter / 2d-free mesh section

asel,s,area,,acn
msh_area,0,0,1,.5*esize,esize,-1,AlNiBr          ! Course Nut

asel,s,area,,aw0
msh_area,0,0,1,esize,esize,-1,ph13_8            ! Top washer of upper brg

asel,s,area,,abrg1
msh_area,0,0,1,esize,esize,-1,mroll             ! Upper bearing

asel,s,area,,aw1
msh_area,0,0,1,esize,esize,-1,ph13_8            ! Bottom washer of upper brg

asel,s,area,,assg
msh_area,0,0,1,esize,3*esize,-1,ph13_8          ! Stop Screw Gear

asel,s,area,,abu
msh_area,0,0,1,esize,esize,-1,AlNiBr            ! Bushing

asel,s,area,,ats
msh_area,0,0,1,esize,esize,-1,Delrin            ! Thermal Sapcer

asel,s,area,,aws
msh_area,0,0,1,esize,esize,-1,ph13_8            ! Washer, Spring

asel,s,area,,as
msh_area,0,0,1,esize,esize,-1,ph13_8            ! Spacer

asel,s,area,,aw2
msh_area,0,0,1,esize,esize,-1,ph13_8            ! Upper washer of lower brg

asel,s,area,,abrg2
msh_area,0,0,1,esize,esize,-1,mroll             ! Lower bearing (simulated roller)

asel,s,area,,aw3
msh_area,0,0,1,esize,esize,-1,ph13_8            ! Lower washer of lower brg

asel,s,area,,abs
msh_area,0,0,1,esize,esize,-1,ph13_8            ! Brake Slide


alls

eplot

!
! Select Contact12 and create elements
!
!type,typec                     
!mat,matc
!real,realc
!
!nummrg,node
cpintf,UY
!eintf,,,low,0

! Uncomment lines below to check contact elements
!esel,s,type,,typec
!nsle,s,all
!nplot

!
!------------------------ 5.  Loading, Constraints --------------------
!
csys,CS_0

! Constrain course nut in vert direction along threads
ksel,s,loc,y,cnPy12,cnPy11
ksel,r,loc,x,cnPx11
lslk,s,1
dl,all,,uy

! Apply 8,900# to the Brake Slide interface
lsel,s,loc,y
Aend=pi*(bsPx14*bsPx14-bsPx12*bsPx12)
Pend=8900/Aend
sfl,all,pres,Pend

alls

fini

!
!------------------------------- 6.  Solve ------------------------------
!
/solu

antype,static

!DELTIM, DTIME, DTMIN, DTMAX, Carry
!NSUBST, NSBSTP, NSBMX, NSBMN, Carry
!nsubst,100,200,10,OFF

solve

finish

!
!------------------------------- 7.  Post Process -----------------------
!

/post1

/PSF,DEFA, ,1,0,1
/PBF,DEFA, ,1
/PBC,ALL, ,1
/rep

plnsol,s,eqv,2,1.0

!create_image

! Upper Bearing
prtsel,abrg1
!nsel,r,loc,x,brgPx1,brgPx2
nsel,r,loc,y,w1Py3
/out,ssg2_bhi_whi,out
prnld,FY,,all
/out
!rplot_nodal,CS_0,'x','S','3'
!create_image
!
prtsel,abrg1
!nsel,r,loc,x,brgPx1,brgPx2
nsel,r,loc,y,w1Py7
/out,ssg2_bhi_wlo,out
prnld,FY,,all
/out

! Lower Bearing
!Upper Washer
prtsel,abrg2
!nsel,r,loc,x,brgPx1,brgPx2
nsel,r,loc,y,w2Py3
/out,ssg2_blo_whi,out
prnld,FY,,all
/out
!rplot_nodal,CS_0,'x','S','3'
!create_image
!
prtsel,abrg2
!nsel,r,loc,x,brgPx1,brgPx2
nsel,r,loc,y,w2Py7
/out,ssg2_blo_wlo,out
prnld,FY,,all
/out

*go,:SKIP

nsel,s,loc,x,brgPx1,brgPx2
nsel,r,loc,y,brgPy1-esize/8,brgPy1
esln,s,1
etable,FNu,smisc,1
etable,FSu,smisc,2

/out,ssgear2,out
pretab,FNu,FSu
/out

! Display loads on Bumper side of Bearing
prtsel,abrg
nsel,r,loc,x,brgPx1,brgPx2
nsel,r,loc,y,brgPy3,brgPy3+esize/8
PRNLD,FY,,ALL
rplot_nodal,CS_0,'x','S','3'
create_image
!
nsel,r,loc,x,brgPx1,brgPx2
nsel,r,loc,y,brgPy3,brgPy3+esize/8
esln,s,1
etable,FNl,smisc,1
etable,FSl,smisc,2

/out,ssgear2,out,,append
pretab,FNl,FSl
/out

prtsel,ats
nsel,r,loc,y,tsPy1
rplot_nodal,CS_0,'x','U','Y'


! For contact elements
prtsel,abrg1,'all'
nsel,s,loc,y,brgPy3
!nsel,r,loc,y,brgPy1,brgPy1+cesize/8
esln,s,1
etable,X,cent,x
etable,FNl,smisc,1
etable,FSl,smisc,2
etable,UY,u,y
!/out,ssg2_%brgRo%_%bumTy%,out      !,,append
pretab,X,FNl,FSl,UY
!/out

:SKIP