Example #1
0
        /// <summary>
        /// Gets the global equivalent nodal loads for <see cref="Tetrahedral"/> element.
        /// </summary>
        /// <param name="elm">The elm.</param>
        /// <returns>global equivalent nodal loads for <see cref="Tetrahedral"/> element</returns>
        private Force[] GetGlobalEquivalentNodalLoads(Tetrahedral elm)
        {
            //p.263 of Structural Analysis with the Finite Element Method Linear Statics, ISBN: 978-1-4020-8733-2
            //formula (8.37c) : the total body force is distributed in equal parts between the four nodes, as expected!

            elm.UpdateGeoMatrix();

            var v = elm.det / 6;

            var f = new Force();

            f.Fx = v / 4 * _vx;
            f.Fy = v / 4 * _vy;
            f.Fz = v / 4 * _vz;

            return(new[] { f, f, f, f });
        }