public Force[] GetGlobalEquivalentNodalLoads(CstElement element) { var a = (element as CstElement).GetArea(); Vector local = Vector.Zero; if (CoordinationSystem == CoordinationSystem.Global) { var global = new Vector(_ux, _uy, _uz); local = element.TranformGlobalToLocal(global); } else { local = new Vector(_ux, _uy, _uz); } local.Z = 0;//CST only local Ux and Uy var glob = element.TranformLocalToGlobal(local); var buf = new Force[] { new Force(glob * a / 3, Vector.Zero), new Force(glob * a / 3, Vector.Zero), new Force(glob * a / 3, Vector.Zero) }; return(buf); }
private void AddCstElement(MeshBuilder bldr, CstElement elm) { PolygonYz section = null; var r = ElementVisualThickness / 2; var p1 = elm.Nodes[0].Location; var p2 = elm.Nodes[1].Location; var p3 = elm.Nodes[2].Location; bldr.AddTriangle(p1, p3, p2); }