Exemple #1
0
 /// <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;
     }
 }
Exemple #2
0
        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();
        }
Exemple #3
0
        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);
            }
        }
Exemple #4
0
 public GenelBilgiWnd()
 {
     InitializeComponent();
     DataContext     = Application.Current.MainWindow.DataContext;
     ReportTitle     = ((AppFileTemplate)DataContext).ReportTitle;
     DiagramTitle    = ((AppFileTemplate)DataContext).Title;
     DiagramSubTitle = ((AppFileTemplate)DataContext).SubTitle;
     Code            = ((AppFileTemplate)DataContext).Code;
 }
Exemple #5
0
 /// <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;
     }
 }