/// <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); }
/// <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); }
/// <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); }
/// <summary> /// Define default (rigid) releases for a bar-element. /// </summary> /// <returns></returns> public static Connectivity GetDefault() { return(Connectivity.GetRigid()); }
/// <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); }