Optimize Thickness |
Copy Code
|
---|---|
//Vary the thickness of a concrete slab to minimize the amount of reinforcement needed //Non-linear problem since the larger thicknesses will increase the load on the structure //and add to minimum steel requirements SetUnits("Kips & Inches"); DeleteAll(); //define the model var width = 480.0; var height = 48.0; var thickness = 12.0; var slab = AddRectangleBoundary(0, 0, width, height); Thickness(slab, 12); DoubleMat_Optimize(slab, true, 1.5, true, 1.5, ("#6", 12), ("#6", 6), ("#8", 6)); SetMaterial("Concrete (F'c = 5 ksi)"); var supportT = 16.0; var leftSupport = AddLineSupport("left", -width/2, -height/2, -width/2, height/2, supportT); PinLineSupport(leftSupport); var rightSupport = AddLineSupport("right", width/2, -height/2, width/2, height/2, supportT); PinLineSupport(rightSupport); //add live load RectangularLoad("L", 0, 0, height, height, -50.0/144/1000, 0, 0); //Add one inch to the slab thickness, find the weight of reinforcement required, save the most efficient thickness var steelWt = 99999999999.9; //initialize to a big value var t = thickness; var bestThickness = t; while(t <= 30.0) //stop at a 30" slab { await Design(); //has to pass shear and flexure checks to be considered if(Status("Slab Flexural Steel") == 2 && Status("Slab Shear") == 2) { var wt = SlabReinforcingWeight(); if(wt < steelWt) { steelWt = wt; bestThickness = t; } } t += 1.0; Thickness(slab, t); } Thickness(slab, bestThickness); //Print out the final results $"Optimal Thickness = {bestThickness} inches; Reinforcing Wt = {steelWt:f4} kips" |