Пример #1
0
        /// <summary>
        /// Construct beam or column with uniform section and uniform start/end conditions
        /// </summary>
        /// <param name="edge"></param>
        /// <param name="type"></param>
        /// <param name="material"></param>
        /// <param name="section">Section, same at start/end</param>
        /// <param name="eccentricity">Analytical eccentricity, same at start. Eccentricity set to 0,0 if null/end</param>
        /// <param name="connectivity">Connectivity, same at start/end. Connectivity set to Rigid if null</param>
        /// <param name="identifier">Identifier</param>
        public Bar(Geometry.Edge edge, BarType type, Materials.Material material, Sections.Section section, Eccentricity eccentricity = null, Connectivity connectivity = null, string identifier = "B")
        {
            if (type == BarType.Truss)
            {
                throw new System.Exception("Truss is not a valid type");
            }

            this.EntityCreated();
            this.Type       = type;
            this.Identifier = identifier;

            if (eccentricity == null)
            {
                eccentricity = Eccentricity.GetDefault();
            }
            if (connectivity == null)
            {
                connectivity = Connectivity.GetDefault();
            }
            this.BarPart = new BarPart(edge, this.Type, material, section, eccentricity, connectivity, this.Identifier);
        }
Пример #2
0
        /// <summary>
        /// Define rigid releases for a bar-element.
        /// </summary>
        /// <remarks>Create</remarks>
        public static Connectivity GetRigid()
        {
            Connectivity connectivity = new Connectivity(true, true, true, true, true, true);

            return(connectivity);
        }
Пример #3
0
        /// <summary>
        /// Define hinged releases for a bar-element.
        /// </summary>
        /// <remarks>Create</remarks>
        public static Connectivity GetHinged()
        {
            Connectivity connectivity = new Connectivity(true, true, true, true, false, false);

            return(connectivity);
        }
Пример #4
0
 /// <summary>
 /// Define default (rigid) releases for a bar-element.
 /// </summary>
 /// <returns></returns>
 public static Connectivity GetDefault()
 {
     return(Connectivity.GetRigid());
 }
Пример #5
0
        /// <summary>
        /// Construct beam or column with non-uniform section and different start/end conditions
        /// </summary>
        /// <param name="edge"></param>
        /// <param name="type"></param>
        /// <param name="material"></param>
        /// <param name="sections">List of sections, 2 or more items.</param>
        /// <param name="positions">List of parametric (0-1) section positions, 2 or more items.</param>
        /// <param name="eccentricities">List of analytical eccentricities, 2 or more items.</param>
        /// <param name="startConnectivity">Start connectivity</param>
        /// <param name="endConnectivity">End connectivity</param>
        /// <param name="identifier">Identifier</param>
        public Bar(Geometry.Edge edge, BarType type, Materials.Material material, Sections.Section[] sections, double[] positions, Eccentricity[] eccentricities, Connectivity startConnectivity, Connectivity endConnectivity, string identifier)
        {
            if (type == BarType.Truss)
            {
                throw new System.Exception("Truss is not a valid type");
            }

            this.EntityCreated();
            this.Type       = type;
            this.Identifier = identifier;
            this.BarPart    = new BarPart(edge, this.Type, material, sections, positions, eccentricities, startConnectivity, endConnectivity, this.Identifier);
        }