You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 10 Next »

General Program Information



Inputs Needed to Call the Flocculation Tank Program
Inputs Defined Within the Flocculation Tank Program

Plantorigin

  • x: 0m
  • y: 0m
  • x: 0m

ENPipeSpec = 4

WInletChannel = 0.245m

HInletChannel = 0.3m

WFlocChannel = WSed/2

LSed = 3.021m

WSed = 1m

HSed = 1.1m

NFlocChannels = 2

TPlantWall = 0.15m

TMp = 0.15m

NSedTanks = 3

AmpFlocBaffle = 0.5in

PerFlocBaffle = 8.5

NBaffle = 1

XFlocBaffle = 4in

TFlocBaffle = 4mm

ANFlocBaffle = 90deg

NFlocBaffleCol = 1

YFlocBaffle = 7cm

WFlocPort = 0.379m

LFloc = (LSed)*(NFlocChannels)

HFloc = HSed

HFlocPort = 0.75m

totalflocdim =

  • x: LFloc/NFlocChannels
  • y: (NFlocChannels*WFlocChannel) + ((NFlocChannels - 1)*TPlantWall)
  • z: HFloc

walldim =

  • x: totalflocdim0 + (2TPlantWall)
  • y: TPlantWall
  • z: totalflocdim2

flocportdim is composed of a for loop with the range 0 to (NFlocChannels - 2). While in the for loop:

flocportdim0,i =

  • x: WFlocPort
  • y: TPlantWall
  • z: HFlocPort

channelopeningdim =

  • x: WInletChannel
  • y: TPlantWall
  • z: HInletChannel

flocorigin =

  • x: PlantOrigin0
  • y: PlantOrigin1 + NSedTanks(WSed + TPlantWall)
  • z: PlantOrigin2

*wallorigin is composed of a for loop with the range 0 to (NFlocChannels - 2). While in the for loop:

wallorigin0,i =

  • x: PlantOrigin0 - totalflocdim0 - TPlantWall
  • y: PlantOrigin1 + NSedTanks(WSed + TPlantWall) + (WFlocChannel*(1 + i)) + (TPlantWall*i)
  • z: PlantOrigin2

flocportorigin is composed of a for loop with an if statement embedded in the program scrip. The range of the for loop is from 0 to (NFlocChannels - 2)

If round(round(i/2) - (i/2)) = 0 then:

flocportorigin0,i =

  • x: PlantOrigin0 - WFlocPort
  • y: PlantOrigin1 + NSedTanks(WSed~ + TPlantWall) + (WFlocChannel*(1 + i))
  • z: PlantOrigin2

If round(round(i/2) - (i/2)) = 1

flocportorigin0,i =

  • x: PlantOrigin0 - totalflocdim0
  • y: PlantOrigin1 + NSedTanks(WSed~ + TPlantWall) + (WFlocChannel*(1 + i))
  • z: PlantOrigin2

*channelopeningorigin =

  • x: flocorigin0 - totalflocdim0
  • y: flocorigin1 - TPlantWall
  • z: flocorigin2 + totalflocdim2 - HInletChannel

*YFlocBaffles is composed of a for loop with the range 0 to (NFlocChannels - 1). While in the for loop:

YFlocBaffles0,j = PlantOrigin1 + (NSedTanks*(WSed~ + TPlantWall)) + ((NFlocChannels - j - 1)*(WFlocChannel + TPlantWall))

Technical Program Outline

Floctanktankscript

layer1 - Layernew creates a floctank layer that is dark grey.

layer1 <-- layernew("floctank",dkgrey)

Tank1 <-- creates a tank. See Tank Help for details on the tank function.

Tank1 <-- Tank(flocorigin, totalflocdim, TPlantWall)

flocorigin -

  • x: PlantOrigin0
  • y: PlantOrigin1 + NSedTanks(WSed + TPlantWall)
  • z: PlantOrigin2

totalflocdim -

  • x: LFloc/NFlocChannels
  • y: (NFlocChannels*WFlocChannel) + ((NFlocChannels - 1)*TPlantWall)
  • z: HFloc

TPlantWall = 0.15m

layerset1 - Layerset selects the layer that the user is currently working on.

layerset1 <- layerset("0")

layerfreeze1 - Layerfreeze freezes the selected layer.

layerfreeze1 <- layerfreeze("floctank")

Floctankwallscript

local - Layernew creates a new layer "floctankwall" that is dark grey.

local <- layernew("floctankwall",dkgrey)

local enters a for loop for the range 0 to (NflocChannels - 2).

local <- stack(local,box(wallorigin0,i,wallorigin0,i + walldim),box(flocportorigin0,i,flocportorigin0,i,flocportorigin0,i + flocportdim0,i)subtractD(wallorigin0,i,flocportorigin0,i))

layerset2 - Layerset selects the layer that the user is currently working in.

layerset2 <- layerset("0")

layerthaw2 - Layerthawunlocks the layer "floctank" so that it can be edited.

layerthaw2 <- layerthaw("floctank")

bigunion1 - UnionallA selects all of the objects on a page and joins them together to form a single object.

bigunion1 <- unionallA

layerfreeze2 - Layerfreeze locks the selected layer "floctank" so that no edits can be made.

layerfreeze2 <- layerfreeze("floctankwall")

local <- stack(local,layerset2,layerthaw2,bigunion1,layerset2,layerfreeze2)

Floctankchannelopeningscript

layer3 - Layernew creates a new, dark grey, layer "flocchannelhole."

layer3 <- layernew("flocchannelhole",dkgrey)

box3 - Box takes the input of two points to create a 3D rectangular box.

box3 <- box(channelopeningorigin,channelopeningorigin + channelopeningdim)

channelopeningorigin =

  • x: flocorigin0 - totalflocdim0
  • y: flocorigin1 - TPlantWall
  • z: flocorigin2 + totalflocdim2 - HInletChannel

channelopeningorigin + channelopeniningdim

  • x: flocorigin0 - totalflocdim0 + WInletChannel
  • y: flocorigin1
  • z: flocorigin2 + totalflocdim2

layerset3 - Layerset selects the layer that the user is currently working in.

layerset3 <- layerset("0")

layerthaw3 - Layerthawunlocks the layer "floctankwall" so that it can be edited.

layerthaw3 <- layerthaw("floctankwall")

viewtop - Viewtop1 rotates the object so that it is viewed from the top.

viewtop <- viewtop1

subtract3 - SubtractD uses two points to identify which object to subtract from.

p1 = flocorigin

  • x: PlantOrigin0
  • y: PlantOrigin1 + NSedTanks(WSed + TPlantWall)
  • z: PlantOrigin2

p2 =

  • x: flocorigin0 - totalflocdim0
  • y: flocorigin1 - TPlantWall
  • z: flocorigin2 + totalflocdim2 - HInletChannel

bigunion - UnionallA selects all of the objects on a page and joins them together to form a single object.

bigunion <- unionallA

layerfreeze3 - Layerfreeze locks the selected layer "floctankwall" so that no edits can be made.

layerfreeze3 <- layerfreeze("floctankwall")

Floctankbafflescript

local - Layernew creates a new light purple layer "baffle."

local <- layernew("baffle",ltpurple)

for loop for the range 0 to (rows(XFlocBaffles) -1)

a <- a + 1 if XFlocBafflest,j is not equal to 0.

for loop for the range 0 to (x(j) - 1)

baffleorigini <- (p1 + p2)

p1:

  • x: PlantOrigin0 - LSed
  • y: 0
  • z: PlantOrigin2

p2:

  • x: XFlocBafflesi,j
  • y: YFlocBaffles0,j
  • z: ZFlocBafflesi,j

bafflelengthi <- LFlocBafflesi,j

local <- stack(local,lamina(baffleorigini,AmpFlocBaffle,WFlocChannel,bafflelengthi,TFlocBaffle,PerFlocBaffle,ANFlocBaffle,NBaffle,NFlocBaffleCol,XFlocBaffle,YFlocBaffle))

Flocktankendscript

layerset - Layerset selects the layer that the user is currently working in.

layerset <- layerset("0")

layerfreeze - Layerfreeze locks the layer "baffle" so that no edits can be made.

layerfreeze <- *layerfreeze("baffle")

FlocTank = stack(Floctanktankscript,Floctankwallscript,Floctankchannelopeningscript,Floctankbafflescript,Floctankendscript)



box1 - creates a box

box1 <-- box(wallorigin, )



box2 -

box2 <-- box(flocholeorigin, )



subtract0 -

subtract0 <-- subtractD( , )



union1 -

union1 <-- unionC( , )



box3-

box3 <-- box( , )



subtract1 -

subtract1 <-- subtractD( , )



bigunion -

bigunion <-- unionallA



layerset -

layerset <-- layer{~}set("0")

layerfreeze1 -

layerfreeze("floctank")



  • No labels