/// <summary> /// /// </summary> /// <param name="Code">Ülke kodu</param> /// <param name="fck">Karakteristik beton basınç dayanımı (MPa)</param> public Concrete(DesignCodes Code, double fck) { if (Code == DesignCodes.TS500) { Ecu = 0.003; k1 = fck <= 25 ? 0.85 : Math.Max(0.85 - 0.006 * (fc - 25.00), 0.64); beta = 0.85; E = 3250 * Math.Sqrt(fck) + 14000; fct = 0.35 * Math.Sqrt(fck); fc = fck.Megapascals().TonnesForcePerSquareMeter; fct = fct.Megapascals().TonnesForcePerSquareMeter; E = E.Megapascals().TonnesForcePerSquareMeter; fcd = fc / 1.5; fctd = fct / 1.5; } else if (Code == DesignCodes.ACI318) { Ecu = 0.003; k1 = fck <= 28 ? 0.85 : Math.Max(0.85 - 0.007 * (fc - 28.0), 0.65); beta = 0.85; E = 4700 * Math.Sqrt(fck); fct = 0.25 * Math.Sqrt(fck); fc = fck.Megapascals().TonnesForcePerSquareMeter; fct = fct.Megapascals().TonnesForcePerSquareMeter; E = E.Megapascals().TonnesForcePerSquareMeter; fcd = fc; fctd = fct; } }
public MainViewModel() { DesignCodes code = DesignCodes.ACI318; List <ReinforcingBar> ReinforcingBars = new List <ReinforcingBar>(); ReinforcingBars.Add(new ReinforcingBar(15.00 * 0.01 * 0.01, 0.085)); ReinforcingBars.Add(new ReinforcingBar(25.00 * 0.01 * 0.01, 0.29)); //ReinforcingBars.Add(new ReinforcingBar(15.00 * 0.01 * 0.01, 0.05)); //ReinforcingBars.Add(new ReinforcingBar(15.00 * 0.01 * 0.01, 0.30)); EtkilesimDiyagramHazirlama diagram = new EtkilesimDiyagramHazirlama(); diagram.ShowAllDiagram = true; diagram.ShowNominalDiagram = true; diagram.Code = code; diagram.SectionGeometry = new RectangularSection(1.00, 0.35, 0.06, 0.085); diagram.StrengthReductionFactor = new StrengthReductionFactor(0.80, 0.90, 0.65); //diagram.StrengthReductionFactor = new StrengthReductionFactor(1.00, 1.00, 1.00); diagram.Concrete = new Concrete(code, 25.0); diagram.Steel = new Steel(code, 420); diagram.ReinforcingBars = ReinforcingBars; //System.Diagnostics.Debug.WriteLine(rcTmp.NominalPmin()); //System.Diagnostics.Debug.WriteLine(rcTmp.NominalMmin()); // Axes are created automatically if they are not defined // Set the Model property, the INotifyPropertyChanged event will make the WPF Plot control update its content this.Model = diagram.CreateModel(); }
public double CalculateActualPhi(DesignCodes code, double MaxStrain) { switch (code) { case DesignCodes.TS500: return(1.0); case DesignCodes.ACI318: if (MaxStrain <= 0.002) { return(phiC); } else { if (MaxStrain >= 0.005) { return(phiB); } else { return(phiC + (phiB - phiC) * (MaxStrain - 0.002) / 0.003); } } default: return(1.00); } }
public GenelBilgiWnd() { InitializeComponent(); DataContext = Application.Current.MainWindow.DataContext; ReportTitle = ((AppFileTemplate)DataContext).ReportTitle; DiagramTitle = ((AppFileTemplate)DataContext).Title; DiagramSubTitle = ((AppFileTemplate)DataContext).SubTitle; Code = ((AppFileTemplate)DataContext).Code; }
/// <summary> /// /// </summary> /// <param name="fyk">Karakteristik akma dayanımı</param> public Steel(DesignCodes Code, double fyk) { if (Code == DesignCodes.TS500) { E = 200000.Megapascals().TonnesForcePerSquareMeter; fy = fyk.Megapascals().TonnesForcePerSquareMeter; fyd = fy / 1.15; Ey = fy / E; Eyd = fyd / E; } else if (Code == DesignCodes.ACI318) { E = 200000.Megapascals().TonnesForcePerSquareMeter; fy = fyk.Megapascals().TonnesForcePerSquareMeter; fyd = fy; Ey = fy / E; Eyd = fyd / E; } }