!   TITLE:  link_arm_326a006.mac (BRIMSTONE)
!
!-----------------------------------------------------------------------
!       Rev -       04/08/2001      J. Rinaldi
!-----------------------------------------------------------------------
!
!   This macro constructs the link arm 326A006 for the Brimstone missle.
!
!   CSlink00:   Cartesian Link Coordinate System
!   CSlink01:   Cylindrical Link Coordinate System
!   CSlink02:   Spherical Link Coordinate System
!
!
!************************** TABLE OF CONTENTS **************************
!
!       Model Assembly Preparation
!
!   1.  Parameter List
!   2.  Model Coordinate System
!   3.  Solid Model
!       3.1  Planar Area Layout
!           3.1.1  Triangular Shaft Hole
!           3.1.2  Link Arm Profile
!               3.1.2.1  Hole End Profile
!               3.1.2.2  Outer Edge Profile
!                   3.1.2.2.1  Long Section Profile
!                   3.1.2.2.2  Triangular Hole Section Profile
!                   3.1.2.2.3  Combine Profile Lines
!                   3.1.2.2.4  Reflect Symmerty Profile Lines
!                   3.1.2.2.5  Outer Profile Area
!                   3.1.2.2.6  Bolt End Profile
!                   3.1.2.2.7  Create Entire Profile
!               3.1.2.3  Cut Profile
!           3.1.3  Sector Gear Profile
!           3.1.4  Create Volumes
!           3.1.5  Screw Hole
!   4.  FE Model
!       4.1  Mesh
!       4.2  Loads / Constraints
!       4.3  Solution
!
!
!********************* Model Assembly Preparation **********************
!
!
mod_assemb_prep,arg1,arg2,arg3
!
!

/units,bin
!
tstart
!
!<<<<<<<<<<<<<<<<<<<<<<<< 1.  Parameter List >>>>>>>>>>>>>>>>>>>>>>>>>>
!
!
link_arm_326a006.parm                   ! name of parameter file
!
!
!<<<<<<<<<<<<<<<<<<<< 2.  Model Coordinate Systems >>>>>>>>>>>>>>>>>>>>
!
!
mod_coord_system,0,5,5,0,0,0,0
!
!
!<<<<<<<<<<<<<<<<<<<<<<<<<<< 3.  Solid Model >>>>>>>>>>>>>>>>>>>>>>>>>>
!
!
!----------------------- 3.1  Planar Area Layout ----------------------
!
!
!-------------------- 3.1.1  Triangular Shaft Hole --------------------
!
csys,CSlink01
!
k,,Dx01/sin((Da01/2)*rconv),0,0
k,,Dx01/sin((Da01/2)*rconv),180-Da01,0
k,,Dx01/sin((Da01/2)*rconv),2*(180-Da01),0
!
create_lines
!
ln_fillet,,Dr01
!
create_area-lines
shafta=am
!
lplot
!
!----------------------- 3.1.2  Link Arm Profile ----------------------
!
!
!---------------------- 3.1.2.1  Hole End Profile ---------------------
!
csys,CSlink00
!
create_cs,0,'CShole00',0,-Dx02,0,0,0,0,0
!
create_arcs,Dr02,0,,1,90-Da02,180
!
lplot
!
!--------------------- 3.1.2.2  Outer Edge Profile --------------------
!
csys,CShole00
!
create_cs,0,,1,-Dr02*sin(Da02*rconv),Dr02*cos(Da02*rconv),0,Da02,0,0
!
k,,0,0,0
k,,1.5*Dx02,0,0
!
ln_series
!
parl_lines,CSlink00,'t',D01,lm-7,1.1
!
profile_lines,km-5,km-1
!
ln_fillet,km,Dr04
!
isolate_lines
!
csys,CSlink00
!
lsymm,y,all,,,,1,0
!
init_entity_num
!
lplot
!
!--------------------- 3.1.2.2.6  Bolt End Profile --------------------
!
csys,CSlink00
!
k,,0,-Dy02,0
k,,Dx03,-Dy02,0
k,,Dx03,Dy01,0
k,,0,Dy01,0
!
create_lines,,1
!
profile_close
!
ksel,s,kp,,km-1,km,1
ln_fillet,,Dr04
!
create_area-lines
!
asba,am,am-1,,delete,delete
!
init_entity_num
!
lplot
!
!------------------ 3.1.2.2.7  Create Entire Profile ------------------
!
csys,CSlink00
!
k,,0,0,0                            ! create bolt section slot
k,,Dx03,0,0
k,,Dx03,Dy03,0
k,,0,Dy03,0
!
create_area
!
asba,am-1,am,,delete,delete
!
init_entity_num
!
!
csys,CShole00                       ! create hole
!
create_circle,Dr05
!
create_area-lines
!
asba,am-1,am,,delete,delete
!
init_entity_num
cm,lset1,line
!
lplot
!









*go,:skip









!------------------------ 3.1.2.3  Cut Profile ------------------------
!
csys,CSlink00
!
k,,-Dx04,2*(Dx01/sin((Da01/2)*rconv)),0
k,,-Dx04,0,0
!
create_lines,,1
!
lsbl,lset1,lm,,delete,delete
!
init_entity_num
!
create_cs,0,,0,kx(km),ky(km),kz(km),0,0,0
!
ara_create_part,csn+1,Da03,0
!
lplot
!
!--------------------- 3.1.3  Sector Gear Profile ---------------------
!

! Initial sector area
csys,CSlink01
!
k,,0,0,0
k,,Dr06,270,0
k,,Dr06,270+Da03
!
create_area,1
!
! Vertical rectangle
csys,CSlink00
!
k,,0,0,0
k,,0,-2*Dr06,0
k,,Dx05,-2*Dr06,0
k,,Dx05,0,0
!
create_area
!
asba,am-1,am,,delete,delete
!
init_entity_num
!
!
! Angled rectangle
csys,CShole00
!
create_cs,0,,0,0,0,0,-Da02,0,0
!
k,,5*Dr05,0,0
k,,5*Dr05,-Dr02,0
k,,Dx02+(Dx01/sin((Da01/2)*rconv)),-Dr02,0
k,,Dx02+(Dx01/sin((Da01/2)*rconv)),0,0
!
create_area
!
aadd,am-1,am
!
init_entity_num
!
asel,u,area,,am-5
asel,u,area,,shafta
!
aovlap,all
!
init_entity_num
!
asel,u,area,,shafta
asel,u,area,,am-8,am-2,8-2
!
aadd,all
!
init_entity_num
!
asel,s,area,,am-3
lsla,s
cm,lset1,line
adele,am-3
!
asel,s,area,,am
lsla,s
cm,lset2,line
adele,am
!
cmsel,s,lset1
cmsel,a,lset2
!
lfillt,lm-10,lm-6,Dr07
lfillt,lm-4,lm-1,Dr08
!
init_entity_num
!
lstr,km-4,km
!
init_entity_num
!
cmsel,s,lset2
lsel,a,line,,lm
al,all
!
cmsel,s,lset1
lsel,a,line,,lm-2,lm
al,all
!
init_entity_num
!
isolate_areas
!
asel,u,area,,shafta
cm,aset1,area
!
init_entity_num
!
asba,aset1,shafta,,delete,delete
!
init_entity_num
!
lcomb,lm-10,lm-7
lcomb,lm-12,lm-4
!
init_entity_num
!
lplot

! Area 10 is sector gear portion
adele,10,,,1

!
!----------------------- 3.1.4  Create Volumes ------------------------
!

csys,CShole00                               ! 1st extrudes
!
isolate_areas
!
asel,u,loc,x,-2*Dr05,2*Dr05
!
extrude_aset,-(Dz01-Dz02-Dz03)
!
isolate_areas                               ! 2nd extrudes
!
extrude_aset,Dz01-Dz02-Dz03
!
asel,selv,loc,z,Dz01-Dz02-Dz03
asel,u,loc,x,-2*Dr05,2*Dr05
!
extrude_aset,-(Dz04-(Dz01-Dz02-Dz03))
!
asel,selv,loc,z,Dz01-Dz02-Dz03
asel,r,loc,x,-2*Dr05,2*Dr05
!
extrude_aset,Dz04-(Dz01-Dz02-Dz03)
!
asel,selv,loc,z,Dz04                        ! 3rd extrudes
asel,u,loc,x,-2*Dr05,2*Dr05
asel,u,loc,y,-Dy02,-3*dy02
!
extrude_aset,-(Dz01-Dz04-Dz02)
!
asel,selv,loc,z,Dz04
asel,r,loc,x,-2*Dr05,2*Dr05
!
extrude_aset,Dz01-Dz04-Dz02
!
asel,selv,loc,z,Dz01-Dz02                   ! 4th extrudes
asel,u,loc,x,-2*Dr05,2*Dr05
asel,u,loc,y,-Dy02,-3*dy02
!
extrude_aset,-Dz02
!
asel,selv,loc,z,Dz01-Dz02
asel,r,loc,x,-2*Dr05,2*Dr05
!
extrude_aset,Dz02
!
vsel,s,loc,z,Dz01-Dz02-Dz03,Dz01-Dz02
vsel,r,loc,x,-2*Dr05,2*Dr05
vdele,all,,,1
init_entity_num
!
nummrg,kp
!
init_entity_num
!
!
csys,CShole00                   ! Add center section volumes together
!
vsel,u,loc,x,-2*Dr05,2*Dr05
vadd,all
!
init_entity_num
!
cm,vset1,volu
!
lplot
!
!-------------------------- 3.1.5  Screw Hole -------------------------
!
csys,CSlink00
!
create_cs,0,'screwcs',1,Dx06,-(Dy02+0.05),Dz05,0,-90,0
!
create_circle,Dr09                          ! screw hole bore
!
create_area-lines
!
isolate_areas
!
extrude_aset,Dy01+Dy02+0.1
!
vsbv,vset1,vm,,delete,delete
!
init_entity_num
cm,vset1,volu
!
create_circle,Dr10,Dy01+Dy02+0.05+Dy01      ! counter-bore
!
create_area-lines
!
isolate_areas
!
extrude_aset,-Dy01
!
vsbv,vset1,vm,,delete,delete
!
init_entity_num
!
lplot


*go,:skip

! Section off the volume of concern
csys,CSlink00
norm_cut_pln_ct,'x',.1

init_entity_num

!
!----------------------------- 4.  FE Model ---------------------------
!
!
!------------------------------- 4.1  Mesh ----------------------------
!
!
!                (1)     (2)     (3)      (4)      (5)   (6)   (7)    (8)   (9)
! MSH_STANDRD, perfmsh, mstyp, mshdens, elmszovr, etpa, etpv, elmnl, elmxl, mat,
!
!              real, perflsz
!              (10)   (11)
!
! One clevis half
csys,CShole00
!
asel,s,loc,z,0
asel,r,loc,x,-2*Dr05,2*Dr05
!
msh_standrd,3,0,0,2,1,2,0.05,0.05
!
! The other clevis half
asel,s,loc,z,Dz01
asel,r,loc,x,-2*Dr05,2*Dr05
!
msh_standrd,3,0,0,2,1,2,0.05,0.05
!
!
!vsel,u,loc,x,-2*Dr05,2*Dr05
!

! Mesh the critical volume where the screw head contacts
vsel,s,volume,,vm-1
msh_standrd,5,,,,1,2,0.02,0.03

! Mesh the threaded section
vsel,s,volume,,vm-2
msh_standrd,5,,1,,1,2,0.1,0.03

! Mesh the main section of the arm
vsel,s,volume,,vm
msh_standrd,5,,1,,1,2,0.1,0.03

!
aclear,all
init_entity_num
!
!--------------------- 4.2  Loads / Constraints ---------------------
!
csys,screwcs
!
asel,s,loc,z,Dy01+Dy02+0.05
asel,r,loc,x,0,Dr10
!
asum
!
*get,a_screw,area,,area
!
p_load=f_screw/a_screw
!
sfa,all,,pres,p_load            ! apply pressure load to areas
!
init_entity_num
!
!
csys,CSlink00                   ! constraints
!
nsel,s,loc,x,-Dx01
nsel,r,loc,y,-z/2,z/2
d,all,all
!
csys,CSlink00
create_cs,0,,0,0,0,0,120,0,0
!
nsel,s,loc,x,-Dx01
nsel,r,loc,y,-z/2,z/2
d,all,all
!
csys,CSlink00
create_cs,0,,0,0,0,0,240,0,0
!
nsel,s,loc,x,-Dx01
nsel,r,loc,y,-z/2,z/2
d,all,all
!
init_entity_num
!
!
csys,CShole00
!
create_cs,0,'CShole01',1,0,0,0,0,0,0
!
asel,s,loc,x,0,Dr05
asel,r,loc,y,180,360
!
asum
!
*get,a_hole,area,,area
!
p_bs=f_arm/a_hole
!
sfa,all,,pres,p_bs          ! apply pressure load to areas
!
init_entity_num
!
lplot
!
!---------------------------- 4.3  Solution ---------------------------
!
init_entity_num
!
/solu
!
eqslv,iter,5,3
solve

tstop

:skip