!   TITLE:  ms_demval.mac
!
!---------------------------------------------------------------------------
!       Rev -   10/25/2000  D. Edwards
!               Modified from mirror_support.mac, 03/14/2000, J. Rinaldi
!---------------------------------------------------------------------------
!
!   This is a macro that builds the AAAV mirror support.  It is current
!   for ANSYS 5.6.  P/N: A400A171 Rev F except modified center hole and 
!   counter bore dimensions.
!
!   CSmirsp0:       Cartesian Mirror Support Coordinate System
!   CSmirsp1:   Cylindrical Mirror Support Coordinate System
!
!
!******************************* TABLE OF CONTENTS **************************
!
!      Model Assembly Preparation
!
!   1. Model Coordinate System
!   2. Material and Element Type
!   3. Parameter List
!   4. Solid Model
!       4.1  Create Initial Profile Volume
!       4.2  Create Top Surface Cut
!           4.2.1  Front center cut with two phi2=13 degree bevels  
!       4.3  Create Rib Pockets
!       4.4  Modify Bottom Surface
!           4.4.1  Beveled Rectanglular Cut
!           4.4.2  Beveled Surface Cut
!           4.4.3  Left Beveled Surface Material Cut
!           4.4.4  Small center scallop cut
!       4.5  Center Hole Bores
!           4.5.1  Center Hole
!           4.5.2  Counterbore
!       4.6  Elevation Axis Journals
!           4.6.1  Left Journal
!           4.6.2  Right Journal
!   5.  FEA Model
!       5.1  Prepare Volumes
!           5.1.1  Long Axis Cut
!           5.1.2  Left Journal Volumes
!           5.1.3  Left Side Rib Volumes
!           5.1.4  Right Side Rib Volumes
!           5.1.5  Short Axis Cut
!           5.1.6  Right Journal Volumes
!           5.1.7  Back Surface Cuts
!           5.1.8  Back Contour Cuts
!           5.1.9  Rib Pocket Contours
!
!***************************** END Table of Contents ************************
!
!
!
!************************** Model Assembly Preparation **********************
!
!
clear_start_new
mod_assemb_prep,1               ! prepare database for assembly
!
/psymb,cs,1
!
/title,AAAV Mirror Support Construction
!
!
/units,bin                  ! British/inch units
!
!
!**************************** End Model Preparation *************************
!
!
!
!<<<<<<<<<<<<<<<<<<<<<<<<< 1.  Parameter List >>>>>>>>>>>>>>>>>>>>>>>>>
!
!
ms_demval.parm
!
!
!<<<<<<<<<<<<<<<<<<<< 2.  Model Coordinate Systems >>>>>>>>>>>>>>>>>>>>
!
!
!mod_coord_system,0,1.00,2.00,0.00,180,0,0
mod_coord_system,0,0.00,0.00,0.00,180,0,0
!
!
!<<<<<<<<<<<<<<<<<<<< 3.  Material and Element Type >>>>>>>>>>>>>>>>>>>
!
!
!---------------------- Material Properties --------------------
!
UIMP,1,EX, , ,10.3E6,       ! Aluminum A356  2
UIMP,1,DENS, , ,.097/386.4,
UIMP,1,NUXY, , ,0.33,
!
!---------------------------------------------------------------
!
!
!------------------------- Element Type ------------------------
!
ET,1,SOLID95
ET,2,SHELL93
!
!---------------------------------------------------------------
!
!
!<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 4. Solid Model >>>>>>>>>>>>>>>>>>>>>>>>>
!
!
!----------------- 4.1  Create Initial Profile Volume ----------------
!
csys,CSmirsp0
!
k,,l4,h1,0
k,,-l3,h1,0
k,,-l3,-h2,0
k,,l4,-h2,0
!
init_entity_num
!
lstr,km-3,km-2
lstr,km,km-1
!
k,,l2,h1,0
k,,l2,-h2,0
k,,-l1,h1,0
k,,-l1,-h2,0
!
init_entity_num
!
lstr,km-3,km-2
lstr,km,km-1
!
create_cs,1,,1,km-7,km-3,km-4           ! create 1st beveled line
k,,l2,phi1,0
lstr,km+1,km-7
!
create_cs,1,,1,km-6,km-1,km-5           ! create 2nd beveled line
k,,l1,phi1,0
lstr,km+2,km-6
!
create_cs,1,,1,km-5,km,km-6             ! create 3rd beveled line
k,,l1,phi1,0
lstr,km+3,km-5
!
create_cs,1,,1,km-4,km-2,km-7           ! create 4th beveled line
k,,l2,phi1,0
lstr,km+4,km-4
!
init_entity_num
!
lsbl,lm-3,lm-5,,delete,keep
lsbl,lm,lm-5,,delete,delete
!
lstr,km+1,km+2
!
lsbl,lm-2,lm-4,,delete,keep
lsbl,lm-1,lm-4,,delete,delete
!
lstr,km+3,km+4
!
init_entity_num
!
ldele,lm-7,lm-1,2,1
!
init_entity_num
!
a,km-15,km-14,km-1,km,km-13,km-12,km-2,km-3
!
init_entity_num
!
voffst,am,extd1
!
init_entity_num
!
lplot
!
!----------------------- 4.2  Create Top Surface Cut -------------------
!
csys,CSmirsp0
!
create_cs,0,'CStprof',0,0,-(1.2*h2),0,0,90,0
!
k,,-l1,h4+pad,0             ! create horizontal surface line
k,,l2,h4+pad,0
!
create_lines,,1
!
create_cs,0,,1,-l1,h3,0,0,0,0
!
k,,l1,-phi2,0           ! create left beveled surface line
k,,l1,180-phi2,0
!
create_lines,,1
!
csys,CStprof                ! create right beveled surface line
!
create_cs,0,,1,l2,h3,0,0,0,0
!
k,,l2,180+phi2,0
k,,l2,phi2,0
!
create_lines,,1
!
lsbl,lm-1,lm-2,,delete,keep
    csys,CSmirsp0       ! left partition distance, for meshing purposes
    pdl=kx(km+1)
    csys,csn
lsbl,lm,lm-2,,delete,delete
    csys,CSmirsp0       ! right partition distance, for meshing purposes
    pdr=kx(km+2)
    csys,csn
lstr,km+1,km+2
ldele,lm+1,lm+3,2,1
!
csys,CStprof
!
k,,kx(km-2),2*extd1,0
k,,kx(km),2*extd1,0
!
init_entity_num
!
lstr,km,km-1
lstr,km-1,km-6
lstr,km,km-4
!
init_entity_num
!
a,km,km-1,km-6,km-3,km-2,km-4
!
init_entity_num
!
voffst,am,-(1.5*(h1+h2))
!
init_entity_num
!
vsbv,vm-1,vm,,delete,delete
!
init_entity_num
!
lplot

!------------------------ 4.2.1  Top surface bevel extrude cut --------
!
csys,CSmirsp0

! CREATE_CS, mthd, cs_nam, cs_typ, xc, yc, zc, rotxy, rotyz, rotzx ratyx, ratzx
create_cs,0,'CSfb0',0,xorigin,0,h4,0,0,0

k,,0,h1+pad,0
k,,0,h1+pad,h4      ! h4 is arbitrary in the z direction
k,,0,-h1-pad,h4
k,,0,-h1-pad,0

create_lines

chamfer_area,2,lm,lm-1,(h1+pad)-w2/2,ab1
chamfer_area,2,lm,lm-7,(h1+pad)-w2/2,ab1

isolate_lines
al,all

init_entity_num

voffst,am,lfb

init_entity_num

vsbv,vm-1,vm,,delete,delete

!------------------------ 4.3  Create Front Pockets ---------------------
!

csys,CSmirsp0

! CREATE_CS, mthd, cs_nam, cs_typ, xc, yc, zc, rotxy, rotyz, rotzx ratyx, ratzx
create_cs,0,'CSfp0',0,-xcenter,0,hp,0,0,0

init_entity_num

k,,xpl,w3/2,0
k,,xpr,w3/2,0
k,,xpr,-w3/2,0
k,,xpl,-w3/2,0

create_lines

chamfer_area,2,lm-3,lm-2,cham1,phi1
chamfer_area,2,lm-6,lm,cham1,phi1

lfillt,lm-10,lm-8,rp
lfillt,lm-10,lm-2,rp
lfillt,lm,lm-9,rp
lfillt,lm-4,lm,rp

isolate_lines

al,all

csys,CSmirsp0

isolate_areas

arsym,x,all,,,0,0

isolate_areas

extrude_aset,2*h4

init_entity_num

vsel,s,volu,,vm-1,vm

cm,vset1,volu

alls

vsbv,vm-2,vset1,,delete,delete

init_entity_num

!------------------------ 4.4  Modify Bottom Surface ---------------------

!--------------------- 4.4.1  Beveled Rectanglular Cut -------------------

csys,CSmirsp0
!
!rec_bore,7,0,0,0,0,0,2*rtangle,l12,l11,abs(h2-h9),abs(h2-h8),dcut,phi4
rec_bore,7,0,0,0,0,0,2*rtangle,l12,l11,1.1*h2,1.1*h2,dcut,phi4
!
init_entity_num
!
lplot
!
!------------------------ 4.4.2  Beveled Surface Cut ---------------------
! Extruded cut one end to the other along the axis of rotation.
!
csys,CSmirsp0
!
create_cs,0,'CSbevsf0',0,-(1.5*l1),-(1.5*h2),h10,90,-90,0
!
k,,0,0,0                        ! km-5
k,,(1.5*h2)-h2+l13,0,0          ! km-4
k,,(1.5*h2)-h2+l13,h10,0        ! km-3
!
k,,(1.5*h2)+h1-l13,h10,0        ! km-2
k,,(1.5*h2)+h1-l13,0,0          !km-1
k,,(1.5*h2)+1.5*h1,0,0          ! km
!
init_entity_num
!
lstr,km-5,km-4
lstr,km-3,km-2
lstr,km-1,km
!
create_cs,1,,1,km-4,km-1,km-3
!
k,,3*h10,phi5,0
lstr,km-4,km+1
!
create_cs,1,,1,km-1,km,km-2             ! create 2nd beveled line
!
k,,3*h10,180-phi5,0
lstr,km-1,km+2
!
init_entity_num
!
lsbl,lm-1,lm-3,,delete,keep
lsbl,lm,lm-3,,delete,delete
!
init_entity_num
!
lstr,km-1,km
!
ldele,lm-2,lm,2,1
!
init_entity_num
!
csys,CSbevsf0
!
!k,,(1.5*h2)+(1.5*h1),chmf1,0
k,,(1.5*h2)+(1.5*h1),2*h10,0
k,,0,2*h10,0
!
init_entity_num
!
lstr,km-6,km-1
lstr,km-1,km
lstr,km,km-11
!
init_entity_num
!
nummrg,kp
isolate_lines
al,all
!
init_entity_num
!
voffst,am,-(1.75*(l1+l2))
!
init_entity_num
!
vsbv,vm-1,vm,,delete,delete
!
init_entity_num
!
lplot

!
!--------------- 4.4.3  Left Beveled Surface Material Cut ------------
!
csys,CSmirsp0
!
k,,-l15,-h2+l16,-0.5
k,,-l15,-(1.2*h2),-0.5
k,,-(1.2*l1),-(1.2*h2),-0.5
k,,-(1.2*l1),-h2+l16,-0.5
!
create_volume,,-(.5+h10)
!
vsbv,vm-1,vm,,delete,delete
!
init_entity_num

asel,s,loc,z,h10
aadd,all
alls

init_entity_num

lplot
!----------------- 4.4.4  Small center scallop cut -------------------
!
csys,CSmirsp0

! CCW kp definition when viewed from plane with +x to left and +z up
k,,w1/2+r1,0,dcut+depth1-r1-pad
k,,-w1/2-r1,0,dcut+depth1-r1-pad
k,,-w1/2-r1,0,dcut+depth1
k,,w1/2+r1,0,dcut+depth1

create_lines

lfillt,lm-1,lm,r1
lfillt,lm-2,lm-1,r1

isolate_lines
al,all

init_entity_num

voffst,am,h1+.1

init_entity_num

vsbv,vm-1,vm,,delete,delete

init_entity_num

!------------------------ 4.5  Center Hole Bores ---------------------
!
!
!
!-------------------------- 4.5.1  Center Hole -----------------------
!
!csys,CSmirsp1
!
! CIR_BORE,opt,acs1,dia_cut,dcut,phibev
cir_bore,6,CSmirsp1,dhole,-h11,0            !h11 = datum-X to axis of rotation

init_entity_num

!------------------------ 4.5.2  Counterbore ------------------------
!
csys,CSmirsp1

! CIR_BORE,opt,xcutc,ycutc,zcutc,rotxyc,rotyzc,rotzxc,dia_cut,dcut,phibev
cir_bore,1,0,0,h4,0,0,0,dbore1,h4-boredpth,0
!
init_entity_num

lplot
!
!-------------------- 4.6  Elevation Axis Journals -------------------
!
!
!
!----------------------- 4.6.1  Resolver Journal ----------------------
!
!
csys,CSmirsp0
!
create_cs,0,'CSm_res1',1,-l1,0,h11,0,0,-90
!
*do,i,0,3*((pi/2)*dconv),((pi/2)*dconv)
    k,,dlj/2,i,0
*enddo
!
create_area,1
!
voffst,am,extd2
!
init_entity_num
!
vadd,vm-1,vm
!
init_entity_num
!
*do,i,0,3*((pi/2)*dconv),((pi/2)*dconv)     ! machine inner bore
    k,,dbore2/2,i,1.2*extd2
*enddo
!
create_area,1
!
voffst,am,-(0.2*extd2+extd3)
!
init_entity_num
!
vsbv,vm-1,vm,,delete,delete
!
init_entity_num
!
*do,i,0,3*((pi/2)*dconv),((pi/2)*dconv)     ! machine outer surface
    k,,1.2*dlj/2,i,1.2*extd2
*enddo
!
create_area,1
!
*do,i,0,3*((pi/2)*dconv),((pi/2)*dconv)
    k,,dos/2,i,1.2*extd2
*enddo
!
create_area,1
!
asba,am-1,am,,delete,delete
!
init_entity_num
!
voffst,am,-(0.2*extd2+extd4)
!
init_entity_num
!
vsbv,vm-1,vm,,delete,delete
!
init_entity_num
!
lplot
!
!----------------------- 4.6.2  Torquer Journal ----------------------
!
csys,CSmirsp0
!
create_cs,0,'CSm_trq1',1,l2,0,h11,0,0,90
!
*do,i,0,3*((pi/2)*dconv),((pi/2)*dconv)     ! 1st volume (casting)
    k,,drj/2,i,0
*enddo
!
create_area,1
!
voffst,am,extd5
!
init_entity_num
!
!
*do,i,0,3*((pi/2)*dconv),((pi/2)*dconv)     ! 2nd volume (bearing)
    k,,d1/2,i,extd5
*enddo
!
create_area,1
!
voffst,am,l18
!
init_entity_num
!
!
*do,i,0,3*((pi/2)*dconv),((pi/2)*dconv)     ! 3rd volume (undercut)
    k,,d2/2,i,l18+extd5
*enddo
!
create_area,1
!
voffst,am,l19
!
init_entity_num
!
!
*do,i,0,3*((pi/2)*dconv),((pi/2)*dconv)     ! 4th volume (thread)
    k,,d3/2,i,l19+l18+extd5
*enddo
!
create_area,1
!
voffst,am,l20
!
init_entity_num
!
!
*do,i,0,3*((pi/2)*dconv),((pi/2)*dconv)     ! 5th volume (rotor journal)
    k,,d4/2,i,l20+l19+l18+extd5
*enddo
!
create_area,1
!
voffst,am,l21
!
init_entity_num
!
vadd,vm-5,vm-4,vm-3,vm-2,vm-1,vm
!
init_entity_num
!
lplot
!

*go,:skip


!<<<<<<<<<<<<<<<<<<<<<<<<<<< 5.  FEA Model >>>>>>>>>>>>>>>>>>>>>>>>>
!
!
!----------------------- 5.1  Prepare Volumes ----------------------
!
!
!----------------------- 5.1.1  Long Axis Cut ----------------------
!
csys,CSm_res1
!
k,,1.5*dlj/2,0,(1.2*extd2)
k,,1.5*dlj/2,0,-(1.5*(l1+l2))
k,,1.5*dlj/2,2*rtangle,-(1.5*(l1+l2))
k,,1.5*dlj/2,2*rtangle,(1.2*extd2)
!
init_entity_num
!
lstr,km-3,km-2
lstr,km-2,km-1
lstr,km-1,km
lstr,km,km-3
!
a,km-3,km-2,km-1,km
!
init_entity_num
!
vol_part_area,am
!
init_entity_num
!
lplot
!
!-------------------- 5.1.2  Left Journal Volumes ------------------
!
csys,CSm_res1
!
*do,i,0,3*((pi/2)*dconv),((pi/2)*dconv)  ! create 1st cutting plane
    k,,1.5*dlj/2,i,l22-l1
*enddo
!
init_entity_num
!
a,km-3,km-2,km-1,km
!
init_entity_num
!
vol_part_area,am
!
init_entity_num
!
*do,i,0,3*((pi/2)*dconv),((pi/2)*dconv)  ! create volume partitions
    k,,1.5*h1,i,-l23
*enddo
!
init_entity_num
!
a,km-3,km-2,km-1,km
!
init_entity_num
!
vol_part_area,am
!
init_entity_num
!
vsel,selv,loc,z,-l23,(l22-l1)
!
vadd,all
!
vsel,all
vsel,u,volu,,vset
!
init_entity_num
!
csys,CSm_res1           ! quarter-cut journal volumes
!
k,,1.5*dlj/2,90,0
k,,1.5*dlj/2,90,1.5*extd2
k,,1.5*dlj/2,270,1.5*extd2
k,,1.5*dlj/2,270,0
!
init_entity_num
!
lstr,km-3,km-2
lstr,km-2,km-1
lstr,km-1,km
lstr,km,km-3
!
a,km-3,km-2,km-1,km
!
init_entity_num
!
vsel,selv,loc,z,(extd2-extd3),5*(extd2-extd3)
!
vol_part_area,am
!
init_entity_num
!
lplot
!
!-------------------- 5.1.3  Left Side Rib Volumes ------------------
!
csys,CSmirsp0
!
k,,pdl,1.2*h1,-1.5*extd1
k,,pdl,1.2*h1,1.5*extd1
k,,pdl,-1.2*h2,1.5*extd1
k,,pdl,-1.2*h2,-1.5*extd1
!
init_entity_num
!
a,km-3,km-2,km-1,km
!
init_entity_num
!
vsel,selv,loc,x,-(l1-l23),l2
!
vol_part_area,am
!
init_entity_num
!
lplot
!
!-------------------- 5.1.4  Right Side Rib Volumes ------------------
!
csys,CSmirsp0
!
k,,pdr,1.2*h1,-1.5*extd1
k,,pdr,1.2*h1,1.5*extd1
k,,pdr,-1.2*h2,1.5*extd1
k,,pdr,-1.2*h2,-1.5*extd1
!
init_entity_num
!
a,km-3,km-2,km-1,km
!
init_entity_num
!
vsel,selv,loc,x,pdl,l2
!
vol_part_area,am
!
init_entity_num
!
lplot
!
!----------------------- 5.1.5  Short Axis Cut ---------------------
!
csys,CSmirsp0
!
k,,0,1.2*h1,-1.5*extd1
k,,0,1.2*h1,1.5*extd1
k,,0,-1.2*h2,1.5*extd1
k,,0,-1.2*h2,-1.5*extd1
!
init_entity_num
!
a,km-3,km-2,km-1,km
!
init_entity_num
!
vsel,selv,loc,x,pdl,pdr
!
vol_part_area,am
!
init_entity_num
!
lplot
!
!-------------------- 5.1.6  Right Journal Volumes --------------------
!
csys,CSm_trq1
!
*do,i,0,3*((pi/2)*dconv),((pi/2)*dconv)  ! create 1st cutting plane
    k,,1.5*h1,i,-l24
*enddo
!
init_entity_num
!
a,km-3,km-2,km-1,km
!
init_entity_num
!
csys,CSmirsp0
vsel,selv,loc,x,pdr,1.5*l2
csys,CSm_trq1
!
vol_part_area,am
!
init_entity_num
!
*do,i,0,3*((pi/2)*dconv),((pi/2)*dconv)
    k,,1.5*drj/2,i,extd5
*enddo
!
init_entity_num
!
a,km-3,km-2,km-1,km
!
init_entity_num
!
vsel,selv,loc,z,-l24,5.00
!
vol_part_area,am
!
init_entity_num
!
vsel,selv,loc,z,-l24,extd5
!
vadd,all
!
init_entity_num
!
k,,1.5*drj/2,90,5.00
k,,1.5*drj/2,90,-l24
k,,1.5*drj/2,270,-l24
k,,1.5*drj/2,270,5.00
!
init_entity_num
!
lstr,km-3,km-2
lstr,km-2,km-1
lstr,km-1,km
lstr,km,km-3
!
a,km-3,km-2,km-1,km
!
init_entity_num
!
vsel,selv,loc,z,extd5,5.00
!
vol_part_area,am
!
init_entity_num
!
lplot
!
!---------------------- 5.1.7  Back Surface Cuts ---------------------
!
csys,CSmirsp1
!
*do,i,0,3*((pi/2)*dconv),((pi/2)*dconv)   ! create cutting plane
    k,,1.5*l1,i,h10
*enddo
!
init_entity_num
!
a,km-3,km-2,km-1,km
!
init_entity_num
!
csys,CSmirsp0
vsel,selv,loc,x,-(l1-l23),(l2-l24)
!
vol_part_area,am
!
init_entity_num
!
lplot
!
!----------------------- 5.1.8  Back Contour Cuts ----------------------
!
csys,CSmirsp0
!
k,,1.5*l2,1.5*h1,h7
k,,-(1.5*l1),1.5*h1,h7
k,,-(1.5*l1),-(1.5*h2),h7
k,,1.5*l2,-(1.5*h2),h7
!
init_entity_num
!
a,km-3,km-2,km-1,km
!
init_entity_num
!
vsel,selv,loc,x,-(l1-l23),(l2-l24)
!
vol_part_area,am
!
init_entity_num
!
lplot
!

!---------------------- 5.1.9  Rib Pocket Contours ---------------------
!
csys,CSmirsp0
!
!asel,selv,loc,z,h7
!

!-(abs(llext-lrext)/2)


finalize_model

save,ms_demval,db

:skip