General Program Information
Input Definitions
Inputs Needed to Call the Inlet Slope Trapezoid Function
origin - A 3*1 matrix with x,y,z positions corresponding to the point where the inlet slope will be drawn.
Length - length of the slopes, generally the length of the sedimentation tank
WSed - width of the sedimentation tank
lorifice - length of the opening that will allow inlet flow
horifice - height of the opening that will allow inlet flow
borifice -
thick - thickness of the slopes
n - number of orifices and sections, one section contains one orifice
bigslope - slope of the inlet in degrees
little slope -
HTrapezoid -
Inputs Defined within the Inlet Slope Trapezoid Function
verticalorigin =
- x: origin0
- y: origin1 - borifice - thick
- z: origin2
verticaldim =
- x: length/n
- y: thick
- z: HTrapezoid + thick*cos(bigslope)
slopeorigin =
- x: origin0
- y: origin1 - borifice - thick
- z: origin2 + HTrapezoid + thick*cos(bigslope)
dim =
- x: length/n
- y: thick
- z: (WSed/2 -borifice)*(1/cos(bigslope))
verticalorigindim = verticalorigin + verticaldim
boxdim = slopeorigin + dim
sideorigin =
- x: slopeorigin1 + thick
- y: slopeorigin2 + dim2
- z: slopeorigin0
sideoriginrotate =
- x: slopeorigin1 + thick
- y: slopeorigin2
- z: slopeorigin0
orificeorigin =
- x: verticalorigin0 + verticaldim0/2 - lorifice/2
- y: verticalorigin1
- z: verticalorigin2
orificedim =
- x: verticalorigin0 + verticaldim0/2 + lorifice/2
- y: verticalorigin1 + verticaldim1
- z: verticalorigin2 + horifice + (borifice*tan(littleslope))
nrow = l
ncol = n
dist = length/2
mirrorpoint1 =
- x: origin0
- y: origin1
mirrorpoint2 =
- x: origin0 + zc
- y: origin1
win1 =
- x: origin0 - zc
- y: origin1 - zc
- z: origin2 - zc
win2 =
- x: origin0 + dim0 - zc
- y: origin1 + dim1 - zc
- z: origin2 + dim2 - zc
Technical Program Outline
viewtop - sets the workspace so that the user is viewing the top of the object.
viewtop <-- viewtop1
zoomwin - zooms on a window space directly around where the inlet slope is to be drawn.
zoomwin <-- zoomwin(win1, win2)
win1 =
- x: origin0 - zc
- y: origin1 - zc
- z: origin2 - zc
win2 =
- x: origin0 + dim0 - zc
- y: origin1 + dim1 - zc
- z: origin2 + dim2 - zc
verticalbox - draws a box using verticalorigin to select the first corner, and verticalorigindim to select the opposite corner. This box will serve as the vertical part of the inlet slopes.
verticalbox <-- box(verticalorigin, verticalorigindim)
verticalorigin =
- x: origin0
- y: origin1 - borifice - thick
- z: origin2
verticaldim =
- x: length/n
- y: thick
- z: HTrapezoid + thick*cos(bigslope)
bigslopebox - draws on top of the vertical box, using slopeorigin to select the first corner, and boxdim to select the opposite corner. This box will serve as the slope of the inlet slopes.
bigslopebox <-- box(slopeorigin, boxdim)
slopeorigin =
- x: origin0
- y: origin1 - borifice - thick
- z: origin2 + HTrapezoid + thick*cos(bigslope)
boxdim = slopeorigin + dim
sideview - changes the view from topview to side view
sideview <-- viewrightside1
rotate - rotates the bigslopebox by 90 - biglope*(180/pi) degrees along the z-axis.
rotate <-- rotate3d(sideorigin, sideoriginrotate, "z", 90 - bigslope*(180/pi))
sideorigin =
- x: slopeorigin1 + thick
- y: slopeorigin2 + dim2
- z: slopeorigin0
sideoriginrotate =
- x: slopeorigin1 + thick
- y: slopeorigin2
- z: slopeorigin0
"z" =
90 - bigslope*(180/pi) =
orificebox -
orificebox <-- box(orificeorigin, orificedim)
orificeorigin =
- x: verticalorigin0 + verticaldim0/2 - lorifice/2
- y: verticalorigin1
- z: verticalorigin2
orificedim =
- x: verticalorigin0 + verticaldim0/2 + lorifice/2
- y: verticalorigin1 + verticaldim1
- z: verticalorigin2 + horifice + (borifice*tan(littleslope))
subtractorifice - subtracts orificebox to create an orifice, using the verticalorigin to select orificebox as the object to be subtracted.
subtractorifice <-- subtractDall(verticalorigin)
verticalorigin =
- x: origin0
- y: origin1 - borifice - thick
- z: origin2
array - creates an array to replicate the slab n times, by using the origin to select the slab as the item to put into an array, then specifies that a rectangular array with one row and "n" columns with a displacement of "dist" is to be used to place the slabs one next to the other.
array <-- arrayB(verticalorigin, nrow, ncol, dist)
verticalorigin =
- x: origin0
- y: origin1 - borifice - thick
- z: origin2
nrow = l
ncol = n
dist = length/2
union - Unites all the individual components of the inlet slope to act as a single unit
union <-- unionallA
mirror - replicates the original inlet slope drawn by selecting the original inlet slope using the origin, then reflecting it over a mirror line created using mirrorpoint1 and mirrorpoint2.
mirror <-- mirrorall(mirrorpoint1, mirrorpoint2)
win1 =
- x: origin0 - zc
- y: origin1 - zc
- z: origin2 - zc
win2 =
- x: origin0 + dim0 - zc
- y: origin1 + dim1 - zc
- z: origin2 + dim2 - zc
bigunion -
bigunion <--unionallA