This is a linear 1D finite element. It only calculates major axis bending moment and major-axis shear force.
Наследование: LinearBeam
Пример #1
0
        public void Can_calculate_stiffnessEA()
        {
            material = new GenericElasticMaterial(0, 210000000000, 0.3, 80769200000);
            section = new SolidRectangle(0.1, 0.1);
            SUT = elementFactory.CreateLinear1DBeam(start, end, material, section);

            Assert.AreEqual(2100000000, SUT.StiffnessEA, 1);
        }
Пример #2
0
        public void Can_calculate_ShearStiffnessGAz()
        {
            material = new GenericElasticMaterial(0, 210000000000, 0.3, 80769200000);
            section = new SolidRectangle(0.1, 0.1);
            SUT = elementFactory.CreateLinear1DBeam(start, end, material, section);

            Assert.Inconclusive("Have not yet properly calculated as to what is expected");
            Assert.AreEqual(675508000, SUT.ShearStiffnessGAz, 1);
        }
Пример #3
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="start"></param>
        /// <param name="end"></param>
        /// <param name="material"></param>
        /// <param name="crossSection"></param>
        /// <returns></returns>
        public Linear1DBeam CreateLinear1DBeam(IFiniteElementNode start, IFiniteElementNode end, IMaterial material, ICrossSection crossSection)
        {
            Guard.AgainstInvalidState(() => { return !Linear1DBeam.IsASupportedModelType(this.ModelType); },
                                      "Linear1DBeams are not available in a model of type {0}",
                                      this.ModelType);

            Linear1DBeam newBeam = new Linear1DBeam(start, end, material, crossSection);
            if (this.repository != null)
            {
                this.repository.Add(newBeam);
            }

            return newBeam;
        }
Пример #4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="start"></param>
        /// <param name="end"></param>
        /// <param name="material"></param>
        /// <param name="crossSection"></param>
        /// <returns></returns>
        public Linear1DBeam CreateLinear1DBeam(IFiniteElementNode start, IFiniteElementNode end, IMaterial material, ICrossSection crossSection)
        {
            Guard.AgainstInvalidState(() => { return(!Linear1DBeam.IsASupportedModelType(this.ModelType)); },
                                      "Linear1DBeams are not available in a model of type {0}",
                                      this.ModelType);

            Linear1DBeam newBeam = new Linear1DBeam(start, end, material, crossSection);

            if (this.repository != null)
            {
                this.repository.Add(newBeam);
            }

            return(newBeam);
        }
Пример #5
0
 public void SetUp()
 {
     ModelType modelType = ModelType.Beam1D;
     nodeFactory = new NodeFactory(modelType);
     start = nodeFactory.Create(0);
     end = nodeFactory.Create(1);
     elementFactory = new ElementFactory(modelType);
     material = new GenericElasticMaterial(0, 0.1, 0, 0);
     section = new SolidRectangle(0.1, 1);
     SUT = elementFactory.CreateLinear1DBeam(start, end, material, section);
 }