private void initValues(double mx, double my, double mxy) { this.mx = inputValues.CreateDoubleCalcValue("Moment about x axis", "M_x", "kNm", mx); this.my = inputValues.CreateDoubleCalcValue("Moment about y axis", "M_y", "kNm", my); this.mxy = inputValues.CreateDoubleCalcValue("Twist", "M_xy", "kNm", mxy); mxb = outputValues.CreateDoubleCalcValue("Moment about x axis for bottom reinforcement", "M_xb", "kNm", 0); myb = outputValues.CreateDoubleCalcValue("Moment about y axis for bottom reinforcement", "M_yb", "kNm", 0); mxt = outputValues.CreateDoubleCalcValue("Moment about x axis for top reinforcement", "M_xt", "kNm", 0); myt = outputValues.CreateDoubleCalcValue("Moment about y axis for top reinforcement", "M_yt", "kNm", 0); }
void initialise() { // INPUTS secWidth = inputValues.CreateDoubleCalcValue("Section width", "b", "mm", 300); secDepth = inputValues.CreateDoubleCalcValue("Section depth", "h", "mm", 500); bendingMom = inputValues.CreateDoubleCalcValue("Bending moment", "M", "kNm", 100); aggregateAdjustmentFactor = inputValues.CreateDoubleCalcValue("Aggregate adjustment factor", "AAF", "", 1); concGrade = inputValues.CreateCalcSelectionList("Concrete grade", "C40/50", new List <string>() { @"C30/40", @"C35/42", @"C40/50" }); ultStrain = inputValues.CreateDoubleCalcValue("Ultimate strain", @"\epsilon_{cu2}", "", 0.0035); shortStrain = inputValues.CreateDoubleCalcValue("Shortening strain", @"\epsilon_{cu3}", "", 0.0035); effCompZoneHtFac = inputValues.CreateDoubleCalcValue("Effective compression zone height factor", @"\lambda", "", 0.8); effStrFac = inputValues.CreateDoubleCalcValue("Effective strength factor", @"\eta", "", 1.00); k1 = inputValues.CreateDoubleCalcValue("Coefficient k1", "k_1", "", 0.4); k3 = inputValues.CreateDoubleCalcValue("Coefficient k3", "k_3", "", 0.4); delta = inputValues.CreateDoubleCalcValue("Redistribution factor", @"\delta", "", 0.85); partialFacConc = inputValues.CreateDoubleCalcValue("Partial factor for concrete", @"\gamma_c", "", 1.5); compStrCoeff = inputValues.CreateDoubleCalcValue("Compressive strength coefficient", @"\alpha_{cc}", "", 0.85); compStrCoeffw = inputValues.CreateDoubleCalcValue("Compressive strength coefficient", @"\alpha_{cw}", "", 1.0); hAgg = inputValues.CreateDoubleCalcValue("Maximum aggregate size", "h_{agg}", "mm", 20); monolithicSimpleSupportFactor = inputValues.CreateDoubleCalcValue("Monolithic simple support moment factor", @"\beta_1", "", 0.25); rebarCharYieldStr = inputValues.CreateDoubleCalcValue("Characteristic yield strength for reinforcing steel", "f_yk", "N/mm^2", 500); rebarPartialFactor = inputValues.CreateDoubleCalcValue("Partial factor for reinforcing steel", @"\gamma_s", "", 1.15); coverTop = inputValues.CreateDoubleCalcValue("Top cover", "c_{top}", "mm", 35); coverBtm = inputValues.CreateDoubleCalcValue("Bottom cover", "c_{btm}", "mm", 35); coverSides = inputValues.CreateDoubleCalcValue("Side cover", "c_{sides}", "mm", 35); firePeriod = inputValues.CreateDoubleCalcValue("Fire period", "R", "mins", 60); sidesExposed = inputValues.CreateDoubleCalcValue("Sides exposed", "", "No.", 3); minWidth = inputValues.CreateDoubleCalcValue("Minimum width", "b_{min}", "mm", 120); // OUTPUTS charCompStr = outputValues.CreateDoubleCalcValue("Characteristic compressive cylinder strength", "f_{ck}", "N/mm^2", 35); meanCompStr = outputValues.CreateDoubleCalcValue("Mean compressive strength", "f_{cm}", "N/mm^2", 0); meanAxialTenStr = outputValues.CreateDoubleCalcValue("Mean axial tensile strength", "f_{ctm}", "N/mm^2", 0.3); secModElasticicity = outputValues.CreateDoubleCalcValue("Secant modulus of elasticity of concrete", "E_{cm}", "kN/mm^2", 22); k2 = outputValues.CreateDoubleCalcValue("Coefficient k2", "k_2", "", 0); k4 = outputValues.CreateDoubleCalcValue("Coefficient k4", "k_4", "", 0); desCompStrConc = outputValues.CreateDoubleCalcValue("Design compressive strength", "f_{cd}", "N/mm^2", 0); desCompStrConcw = outputValues.CreateDoubleCalcValue("Strength of concrete cracked in shear", "f_{cwd}", "N/mm^2", 0); rebarDesYieldStr = outputValues.CreateDoubleCalcValue("Design yield strength for reinforcing steel", "f_{yd}", "N/mm^2", 0); effDepth = outputValues.CreateDoubleCalcValue("Effective depth", "d", "mm", 0); redistRatio = outputValues.CreateDoubleCalcValue("Redistribution ratio", "K", "", 0); redistRatio2 = outputValues.CreateDoubleCalcValue("Redistribution ratio limit", "K'", "", 0); leverArm = outputValues.CreateDoubleCalcValue("Lever arm", "z", "mm", 0); naDepth = outputValues.CreateDoubleCalcValue("Neutral axis depth", "x", "mm", 0); rebarAsReqd = outputValues.CreateDoubleCalcValue("Tension reinforcement required", "A_{s,reqd}", "mm^2", 0); rebarAsProv = outputValues.CreateDoubleCalcValue("Tension reinforcement provided", "A_{s,prov}", "mm^2", 0); rebarMinArea = outputValues.CreateDoubleCalcValue("Minimum tension reinforcement", "A_{s,min}", "mm^2", 0); rebarMaxArea = outputValues.CreateDoubleCalcValue("Maximum tension reinforcement", "A_{s,max}", "mm^2", 0); UpdateCalc(); }
public DropHead_Symmetrical() { model = new Model(); _spacingTop = inputValues.CreateDoubleCalcValue("Spacing at top", "L_1", "m", 0.8); _spacingBottom = inputValues.CreateDoubleCalcValue("Spacing at bottom", "L_2", "m", 0.8); _spacingVertical = inputValues.CreateDoubleCalcValue("Vertical spacing", "h", "m", 1); _loadA = inputValues.CreateDoubleCalcValue("Force A", "F_A", "kN", 1); _reactionA = outputValues.CreateDoubleCalcValue("Reactions", "", "", 0); _reactionB = outputValues.CreateDoubleCalcValue("Reactions", "", "", 0); _strutResolvedForce = outputValues.CreateDoubleCalcValue("Resolved strut force", "F_{strut}", "kN", 0); _tieForce = outputValues.CreateDoubleCalcValue("Bottom tie force", "F_{tie}", "kN", 0); }
private void initialise() { _concGrade = inputValues.CreateCalcSelectionList("Concrete grade", "35", new List <string> { "30", "35", "40", "45", "50", "60", "70", "80", "90" }); _discontinuity = inputValues.CreateCalcSelectionList("Discontinuity", "Full", new List <string> { "Full", "Partial" }); _nodeWidth = inputValues.CreateDoubleCalcValue("Node width", "a", "mm", 300); _availableStrutWidth = inputValues.CreateDoubleCalcValue("Available strut width", "b", "mm", 600); _strutLength = inputValues.CreateDoubleCalcValue("Strut length", "H", "mm", 2000); _strutForce = inputValues.CreateDoubleCalcValue("Strut force", "F", "kN", 1000); _burstingForce = outputValues.CreateDoubleCalcValue("Bursting force", "T", "kN", 0); _thickness = inputValues.CreateDoubleCalcValue("Thickness", "t", "mm", 300); _tensionToReinforce = outputValues.CreateDoubleCalcValue("Tension to reinforce", "T_{tie}", "kN", 0); }
void initialise(double span, double udl) { this.span = this.inputValues.CreateDoubleCalcValue("span", "l", "m", span); this.udl = this.inputValues.CreateDoubleCalcValue("udl", "w", "kN/m", udl); moment = this.outputValues.CreateDoubleCalcValue("moment", "M", "kNm", 0); shear = this.outputValues.CreateDoubleCalcValue("Shear", "V", "kN", 0); endConditions = this.inputValues.CreateCalcSelectionList("End Condition", "Pinned", new List <string> { "Fixed", "Pinned" }); momentCalc = new Dictionary <string, Action>() { { "Fixed", new Action(calcFixedMoment) }, { "Pinned", new Action(calcPinnedMoment) } }; //filePath = this.inputValues.CreateCalcFilePath("Section Names", AppDomain.CurrentDomain.BaseDirectory + @"Libraries\Section_Names.csv"); UpdateCalc(); }
public ConcreteCarbonCalculator() { InstanceName = "Concrete element"; _mix = inputValues.CreateCalcSelectionList("Concrete mix", "RC30", new List <string> { "GEN0", "GEN1", "GEN2", "GEN3", "RC20/25", "RC25/30", "RC28/35", "RC32/40", "RC40/50", "PAV1", "PAV2" }); _replacement = inputValues.CreateCalcSelectionList("Cement replacement", "zero", new List <string> { "zero", "15%PFA", "30%PFA", "25%GGBS", "50%GGBS" }); _rebarDensity = inputValues.CreateDoubleCalcValue("Rebar density", "", "kg/m^3", 150); _rcVol = inputValues.CreateDoubleCalcValue("Volume of RC", "", "m^3", 1); _rcMass = outputValues.CreateDoubleCalcValue("Mass of RC", "", "kg", double.NaN); _carbonDensity = outputValues.CreateDoubleCalcValue("Carbon density", "", "kg/m^3", double.NaN); _carbonDensityWithRebar = outputValues.CreateDoubleCalcValue("RC carbon density", "", "kg/m^3", double.NaN); _totalCarbon = outputValues.CreateDoubleCalcValue("Total carbon", "", "T", double.NaN); genDictionary(); UpdateCalc(); }
private void initialise() { _columnData1 = inputValues.CreateCalcListOfDoubleArrays("List of column data 2: T, H, L1, T1, L2, T2, W, L", new List <double[]> { new double[] { 0, 35000, 1400, 56, 2800, 112, 1000, 1000 }, new double[] { 112, 35000, 1400, 168, 2800, 224, 800, 800 } }); _columnData2 = inputValues.CreateCalcListOfDoubleArrays("List of column data 1: T, H, L1, T1, L2, T2, W, L", new List <double[]> { new double[] { 0, 35000, 1400, 56, 2800, 112, 1400, 1400 }, new double[] { 112, 35000, 1400, 168, 2800, 224, 900, 900 } }); concGrade = inputValues.CreateCalcSelectionList("Concrete grade", "35", new List <string> { "30", "35", "40", "45", "50", "60", "70", "80", "90" }); notionalcreepcoeff = outputValues.CreateDoubleCalcValue("Notional creep coefficient", @"\varphi(t,t_0)", "", 0); charCompStr = outputValues.CreateDoubleCalcValue("Concrete characteristic compressive strength", "f_{ck}", @"N/mm^2", 43); meanCompStr = outputValues.CreateDoubleCalcValue("Concrete mean compressive strength", "f_{cm}", @"N/mm^2", 43); relativeHumidity1 = inputValues.CreateDoubleCalcValue("Relative humidity 1", "RH", "", 70); //relativeHumidity2 = inputValues.CreateDoubleCalcValue("Relative humidity 2", "RH", "", 50); //relativeHumiditySwitchTime = inputValues.CreateDoubleCalcValue("Relative humidity switch time", "t_{humiditychange}", "d", 80); //time0 = inputValues.CreateDoubleCalcValue("Time load applied", "t_0", "days", 28); time = inputValues.CreateDoubleCalcValue("Time", "t", "days", 10000000); timeShrinkStart = inputValues.CreateDoubleCalcValue("Shrinkage start", "t_s", "days", 7); creepTimeCoeff = outputValues.CreateDoubleCalcValue("Coefficient for creep with time", @"\beta(t,t_0)", "", 0); creepCoeff = outputValues.CreateDoubleCalcValue("Creep coefficient", @"\varphi_0", "", 0); cementType = inputValues.CreateCalcSelectionList("Cement type", "S", new List <string> { "S", "N", "R" }); dryingStrain = outputValues.CreateDoubleCalcValue("Unrestrained drying strain", @"\epsilon_{cd,0}", "", 0); totalShrinkageStrain = outputValues.CreateDoubleCalcValue("Total shrinkage strain", @"\epsilon_{cs}", "", 0); totalCreepMovement = outputValues.CreateDoubleCalcValue("Total creep movement", "", "mm", 0); shrinkageMovement = outputValues.CreateDoubleCalcValue("Shrinkage movement", "", "mm", 0); movementLevel = inputValues.CreateDoubleCalcValue("Calc movement at level", "", "", 1); movement1 = outputValues.CreateDoubleCalcValue("Column 1 movement at level", "", "mm", 0); movement2 = outputValues.CreateDoubleCalcValue("Column 2 movement at level", "", "mm", 0); diffMovement = outputValues.CreateDoubleCalcValue("Diff movement", "", "mm", 0); UpdateCalc(); }
public ConcreteStrengthClasses() { _grade = inputValues.CreateCalcSelectionList("Grade", "30", new List <string> { "30", "35", "40", "45", "50", "55", "60", "70", "80", "90" }); _fck = outputValues.CreateDoubleCalcValue("Characteristic cylinder strength", @"f_{ck}", "MPa", 0); _fckcube = outputValues.CreateDoubleCalcValue("Characteristic cube strength", @"f_{ck,cube}", "MPa", 0); _fcm = outputValues.CreateDoubleCalcValue("Mean cylinder strength", @"f_{cm}", "MPa", 0); _fctm = outputValues.CreateDoubleCalcValue("Mean tensile strength", @"f_{ctm}", "MPa", 0); _fctk005 = outputValues.CreateDoubleCalcValue("5th percentile tensile strength", @"f_{ctk,0.05}", "MPa", 0); _fctk095 = outputValues.CreateDoubleCalcValue("95th percentile tensile strength", @"f_{ctk,0.95}", "MPa", 0); _Ecm = outputValues.CreateDoubleCalcValue("Mean modulus of elasticity", @"E_{cm}", "GPa", 0); _Ec1 = outputValues.CreateDoubleCalcValue("Compressive strain at peak stress", @"\epsilon_{c1}", "", 0); _Ecu1 = outputValues.CreateDoubleCalcValue("Ultimate compressive strain", @"\epsilon_{cu1}", "", 0); _Ec2 = outputValues.CreateDoubleCalcValue("Compressive strain at peak stress", @"\epsilon_{c2}", "", 0); _Ecu2 = outputValues.CreateDoubleCalcValue("Ultimate compressive strain", @"\epsilon_{cu2}", "", 0); _n = outputValues.CreateDoubleCalcValue("Exponent", @"n", "", 0); _Ec3 = outputValues.CreateDoubleCalcValue("Compressive strain at peak stress", @"\epsilon_{c3}", "", 0); _Ecu3 = outputValues.CreateDoubleCalcValue("Ultimate compressive strain", @"\epsilon_{cu3}", "", 0); UpdateCalc(); }