public override string ToString() { return($@"//////Result/////// Forces: {"Msd:",-12}{Forces.Msd,13:F2}{"kNm",-5} {"Nsd:",-12}{Forces.Nsd,13:F2}{"kN",-5} {"Msds:",-12}{Forces.Msds(Geometry.h, Geometry.d1),13:F2}{"kNm",-5} Material: Reinforcement: {Material.armatura} Concrete: {Material.beton} Geometry: {"b:",-12}{Geometry.b,13:F2}{Geometry.unit,-5} {"h:",-12}{Geometry.h,13:F2}{Geometry.unit,-5} {"d1:",-12}{Geometry.d1,13:F2}{Geometry.unit,-5} {"d2:",-12}{Geometry.d2,13:F2}{Geometry.unit,-5} {"d:",-12}{Geometry.d,13:F2}{Geometry.unit,-5} Result: {"εc/εs1:",-12}{KofZaProracunPravougaonogPreseka.εc,13:F3}{"/",1}{KofZaProracunPravougaonogPreseka.εs1,-5:F3}{"‰",1} {"εs2:",-12}{KofZaProracunPravougaonogPreseka.εs2(Geometry.d, Geometry.d2),13:F3}{"‰",-5} {"μSd:",-12}{KofZaProracunPravougaonogPreseka.μRd,13:F3}{"",-5} {"x:",-12}{X,13:F2}{"",-5} {"As1_req:",-12}{As1_pot,13:F2}{"cm2",-5} {"As2_req:",-12}{As2_pot,13:F2}{"cm2",-5} {"μSd_lim:",-12}{Kof_lim.μRd,13:F3}"); }
private void ReinforcementCalc() { var Msds = Forces.Msds(Geometry.h, Geometry.d1); Mrd_limit = (Kof_lim.μRd * Geometry.b * Math.Pow(Geometry.d, 2) * Material.beton.fcd / 10) / 100; if (Msds <= Mrd_limit) { As1_pot = (KofZaProracunPravougaonogPreseka.ω * Geometry.b * Geometry.d * Material.beton.fcd / 10 / Material.armatura.fyd) + (Forces.Nsd / Material.armatura.fyd); } else { As2_pot = (Msds * 100 - Mrd_limit * 100) / ((Geometry.d - Geometry.d2) * Material.armatura.fyd); As1_pot = Mrd_limit * 100 / (Kof_lim.ζ * Geometry.d * Material.armatura.fyd) + (Forces.Nsd / Material.armatura.fyd) + As2_pot; As2_pot = As2_pot < 0 ? 0 : As2_pot; } if ((As1_pot + As2_pot) / Geometry.b / Geometry.h > ρ_max) { throw new Exception("ρ_max exceeded! Make section bigger"); } if (As2_pot != 0) { KofZaProracunPravougaonogPreseka = Kof_lim; } X = KofZaProracunPravougaonogPreseka.ξ * Geometry.d; if (Forces.IsMsdNegativ) { As2_pot = As1_pot; As1_pot = (Msds * 100 - Mrd_limit * 100) / ((Geometry.d - Geometry.d2) * Material.armatura.fyd); } }
private void SetKof() { if (TypeDim == TypeDimensioning.Bound) { μSd = coeffService.GetByμ(Forces.Msds(Geometry.h, Geometry.d1), Geometry.b, Geometry.d).μRd; } else { μSd = coeffService.GetNew(Material.beton.εcu2, Material.armatura.eps_ud).μRd; } KofZaProracunPravougaonogPreseka = coeffService.GetByμ(μSd); }
/// <summary> /// If TypeDim == TypeDimensioning.Free /// </summary> private void FreeDim() { double d_r = 0; double h_r = 0; d_r = Math.Sqrt(Forces.Msds(Geometry.h, Geometry.d) * 100 / (Geometry.b * KofZaProracunPravougaonogPreseka.μRd * Material.beton.fcd / 10)); h_r = d_r + this.Geometry.d1; if (h_r % 5 != 0) { Geometry.h = h_r - (h_r % 5) + 5; } else { Geometry.h = h_r; } ReinforcementCalc(); }