public ReinforcedSectionTwoWayShear(IConcreteMaterial Material, IRebarMaterial Rebar,
                                     PunchingPerimeterData Perimeter, double A_v, double s, PunchingReinforcementType PunchingReinforcementType)
 {
     this.Material  = Material;
     this.Perimeter = Perimeter;
     this.Rebar     = Rebar;
     this.A_v       = A_v;
     this.s         = s;
     this.PunchingReinforcementType = PunchingReinforcementType;
 }
        /// <summary>
        /// Two-way shear section (constructor used for stress calculation)
        /// </summary>
        /// <param name="Material">Concrete material</param>
        /// <param name="Perimeter">Shear perimeter</param>
        /// <param name="d">Effective slab section</param>
        /// <param name="c_x">Column dimension (along X axis)</param>
        /// <param name="c_y">Column dimension (along Y axis)</param>
        /// <param name="ColumnType">Identifies if the column is located at the interior, slab edge, or slab corner</param>
        ///  <param name="AtColumnFace">Identifies if the section is adjacent to column face (typical) or away from column face (as is the case with shear studs away from the face)</param>

        public ConcreteSectionTwoWayShear(IConcreteMaterial Material, PunchingPerimeterData Perimeter, double d,
                                          double c_x, double c_y, PunchingPerimeterConfiguration ColumnType, bool AtColumnFace = true)
        {
            this.Material     = Material;
            this.Segments     = Perimeter.Segments;
            this.d            = d;
            this.c_x          = c_x;
            this.c_y          = c_y;
            this.ColumnType   = ColumnType;
            this.ColumnCenter = Perimeter.ColumnCentroid;
            this.AtColumnFace = AtColumnFace;
            cen = PunchingPerimeterCentroid;
            CalculatePerimeterProperties();
        }
        /// <summary>
        /// Two-way shear section (constructor used for stress calculation)
        /// </summary>
        /// <param name="Perimeter">Shear perimeter</param>
        /// <param name="d">Effective slab section</param>
        /// <param name="c_x">Column dimension (along X axis)</param>
        /// <param name="c_y">Column dimension (along Y axis)</param>
        /// <param name="ColumnType">Identifies if the column is located at the interior, slab edge, or slab corner</param>
        ///  <param name="AtColumnFace">Identifies if the section is adjacent to column face (typical) or away from column face (as is the case with shear studs away from the face)</param>

        public ConcreteSectionTwoWayShear(PunchingPerimeterData Perimeter, double d,
                                          double c_x, double c_y, PunchingPerimeterConfiguration ColumnType, bool AtColumnFace = true) : this(null,
                                                                                                                                              Perimeter, d, c_x, c_y, ColumnType, AtColumnFace)
        {
        }