/// <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 }); }