//beknopte versie: /// <summary> /// Berekent de overlappingslengte van de gekozen staaf, /// naar boven afgerond naar 50 of 100, /// alle alpha factoren staan op de meest ongunstige waarde /// </summary> /// <param name="staafDiameter">Diameter van de te berekenen staaf</param> /// <param name="betonKwaliteit">Betonkwaliteit van het object</param> /// <param name="aanhechtingsOmstandigheden">Goede aanhechtingsomstandigheden = true, slechte aanhechtingsomstandigheden = false</param> public static double Overlappingslengte(int staafDiameter, string betonKwaliteit, bool aanhechtingsOmstandigheden) { double alpha1 = 1.0; // alpha 2: uitgangspunt is rechte staven double alpha2 = 1.0; // alpha 3: Uitgangspunt is 1.0 ivm complexiteit berekening lamda double alpha3 = 1.0; // alpha 5: uitgangspunt is 1.0 omdat de constructeur hier ook geen rekening mee houd double alpha5 = 1.0; // alpha 6: uitgangspunt is 1.5 omdat er niet voorspeld kan worden waar de overlappen komen te liggen. double alpha6 = 1.5; var basisverankeringslengte = Verankeringslengteberekening.BasisVerankeringslengte(staafDiameter, betonKwaliteit, aanhechtingsOmstandigheden); var minimaleOverlappingslengte = MinimaleOverlappingslengte(staafDiameter, betonKwaliteit, aanhechtingsOmstandigheden); double overlappingslengte = Math.Max(alpha1 * alpha2 * alpha3 * alpha5 * alpha6 * basisverankeringslengte, minimaleOverlappingslengte); int overlappingslengteRounded = AfrondenNaar50of100(overlappingslengte); return(overlappingslengteRounded); }
/// <summary> /// Berekent de minimale overlappingslengte van de gekozen staaf /// </summary> /// <param name="staafDiameter">Diameter van de te berekenen staaf</param> /// <param name="betonKwaliteit">Betonkwaliteit van het object</param> /// <param name="aanhechtingsOmstandigheden">Goede aanhechtingsomstandigheden = true, slechte aanhechtingsomstandigheden = false</param> public static double MinimaleOverlappingslengte(int staafDiameter, string betonKwaliteit, bool aanhechtingsOmstandigheden) { // alpha 6: uitgangspunt is 1.5 omdat er niet voorspeld kan worden waar de overlappen komen te liggen. double alpha6 = 1.5; var basisverankeringslengte = Verankeringslengteberekening.BasisVerankeringslengte(staafDiameter, betonKwaliteit, aanhechtingsOmstandigheden); double minimaleOverlappingslengte = Math.Max(0.3 * alpha6 * basisverankeringslengte, Math.Max(15 * staafDiameter, 200)); return(minimaleOverlappingslengte); }
/// <summary> /// Berekent de overlappingslengte van de gekozen staaf, /// naar boven afgerond naar 50 of 100, /// alpha 2 is hierin variabel /// </summary> /// <param name="staafDiameter">Diameter van de te berekenen staaf</param> /// <param name="betonKwaliteit">Betonkwaliteit van het object</param> /// <param name="aanhechtingsOmstandigheden">Goede aanhechtingsomstandigheden = true, slechte aanhechtingsomstandigheden = false</param> /// <param name="hohMaat">De HOH maat van de wapening</param> /// <param name="staafDiameter">De diameter van de wapening</param> /// <param name="staafDekkingHorizontaal">De afstand vanaf het dichtstbijzijnde horizontale betonoppervlak tot de staaf, 1e laag: dekking, 2e laag: dekking + Ø 1e laag</param> /// <param name="staafDekkingVerticaal">De afstand vanaf het dichtsbijzijnde verticale betonoppervlak tot de staaf, 1e laag: dekking, 2e laag: dekking + Ø 1e laag</param> public static double Overlappingslengte(int staafDiameter, string betonKwaliteit, bool aanhechtingsOmstandigheden, double hohMaat, double staafDekkingVerticaal, double staafDekkingHorizontaal /*, AardGeometrie aardGeometrie*/) { // alpha 1: uitgangspunt is rechte staven double alpha1 = 1.0; // alpha 2: uitgangspunt is rechte staven double a = hohMaat - staafDiameter; double cd = Math.Min(a / 2, Math.Min(staafDekkingVerticaal, staafDekkingHorizontaal)); double alpha2 = 1 - (0.15 * (cd - staafDiameter) / staafDiameter); if (alpha2 < 0.7) { alpha2 = 0.7; } else if (alpha2 > 1) { alpha2 = 1; } // alpha 3: Uitgangspunt is 1.0 ivm complexiteit berekening lamda double alpha3 = 1.0; ////alpha 3 berekening //double k; //if (aardGeometrie == AardGeometrie.BALK) //{ // k = 0.1; //} //else if(aardGeometrie == AardGeometrie.PLAAT) //{ // k = 0; //} //double alpha3 = 1 - k*lamda // alpha 5: uitgangspunt is 1.0 omdat de constructeur hier ook geen rekening mee houd double alpha5 = 1.0; // alpha 6: uitgangspunt is 1.5 omdat er niet voorspeld kan worden waar de overlappen komen te liggen. double alpha6 = 1.5; var basisverankeringslengte = Verankeringslengteberekening.BasisVerankeringslengte(staafDiameter, betonKwaliteit, aanhechtingsOmstandigheden); var minimaleOverlappingslengte = MinimaleOverlappingslengte(staafDiameter, betonKwaliteit, aanhechtingsOmstandigheden); double overlappingslengte = Math.Max(alpha1 * alpha2 * alpha3 * alpha5 * alpha6 * basisverankeringslengte, minimaleOverlappingslengte); int overlappingslengteRounded = AfrondenNaar50of100(overlappingslengte); return(overlappingslengteRounded); }