public void Calculate(BeamUnderLoad beam)
        {
            PrestressingSteelParameters           p  = beam.Beam.PrestressingSteelParameters;
            CrossSectionCalculatedCharacteristics ch = beam.CrossSectionCalculatedCharacteristics;

            p0Max = Math.Min(0.8 * p.Fpk * ch.AreaAp, 0.9 * p.Fp01k * ch.AreaAp) / 10;

            pM0Max = Math.Min(0.75 * p.Fpk * ch.AreaAp, 0.85 * p.Fp01k * ch.AreaAp) / 10;

            pMtMax = 0.65 * p.Fpk * ch.AreaAp / 10;
        }
 public BeamUnderLoad()
 {
     beam.PropertyChanged += BeamPropertyChangedEventHandler;
     crossSectionCalculatedCharacteristics = new CrossSectionCalculatedCharacteristics(this);
     forces = new Forces(this);
     maxForcesInActiveSteel = new MaxForcesInActiveSteel(this);
     ranges = new Ranges(this);
     technologicalLosses = new TechnologicalLosses(this);
     adHocLosses         = new AdHocLosses(this);
     delayedLosses       = new DelayedLosses(this);
     sgn        = new SGN(this);
     shear      = new Shear(this);
     stirrups   = new Stirrups(this);
     sgu        = new SGU(this);
     conditions = new Conditions(this);
 }