sci.math.num-analysis SUNA48, Seven point F.E. star ============================= Consider the well known seven node star. Function values (f1,f2,f3,f4,f5,f6,f7) are defined at its nodal points, which are defined at the PARENT element as: 1 0 , 0 , 0 2 -1 , 0 , 0 3 +1 , 0 , 0 4 0 , -1 , 0 5 0 , +1 , 0 6 0 , 0 , -1 7 0 , 0 , +1 These values are interpolated by a Taylor series expansion around the origin, which happens to be node (1). Seven terms are needed: f = f1 + h.df1/dh + k.df1/dk + l.df1/dl + 2 2 2 2 2 2 2 2 2 + h .d f1/dh + k .df 1/dk + l .d f1/dl Abbreviations for the partial derivatives turn it into an ordinary polynomial: 2 2 2 f = a1 + a2.h + a3.h + a4.k + a5.k + a6.l + a7.l Specify for the above vertices. This results in 7 equations for the unknowns: f1 = a1 ; f2 = a1 - a2 + a3 ; f3 = a1 + a2 + a3 f4 = a1 - a4 + a5 ; f5 = a1 + a4 + a5 f6 = a1 - a6 + a7 ; f7 = a1 + a6 + a7 From which it follows by substraction and addition: a1 = f1 ; a2 = (f3 - f2)/2 ; a4 = (f5 - f4)/2 ; a6 = (f7 - f6)/2 a3 = (f3 - 2.f1 + f2)/2 ; a5 = (f5 - 2.f1 + f4)/2 ; a7 = (f7 - 2.f1 + f6)/2 These are well known finite difference schemes for the zero'th, first and second partial derivatives on the seven node star, in case the parent element coincides with the real thing (rectangular global coordinates). By substitution of the a's, the function f is expressed as follows: f = f1 + (f3 - f2)/2.h + (f3 - 2.f1 + f2)/2.h.h + + (f5 - f4)/2.k + (f5 - 2.f1 + f4)/2.k.k + + (f7 - f6)/2.l + (f7 - 2.f1 + f6)/2.l.l Rewrite: f = (1 - h.h - k.k - l.l).f1 + 1/2.(- h + h.h).f2 + 1/2.(+ h + h.h).f3 + 1/2.(- k + k.k).f4 + 1/2.(+ k + k.k).f5 + 1/2.(- l + l.l).f6 + 1/2.(+ l + l.l).f7 Here we find the (Finite Element) Shape Functions of the seven point star. They are: N1 (h,k,l) = 1 - h.h - k.k - l.l N2 (h,k,l) = 1/2.(- h + h.h) ; N3 (h,k,l) = 1/2.(+ h + h.h) N4 (h,k,l) = 1/2.(- k + k.k) ; N5 (h,k,l) = 1/2.(+ k + k.k) N6 (h,k,l) = 1/2.(- l + l.l) ; N7 (h,k,l) = 1/2.(+ l + l.l) A finite element Isoparametric Mapping can be defined now. We are going to use MAPLE again, in order to avoid lengthy calculations by hand (-: getting lazy): > with(linalg); > N1 := 1 - h*h - k*k - l*l; > N2 := - h/2 + h*h/2; > N3 := + h/2 + h*h/2; > N4 := - k/2 + k*k/2; > N5 := + k/2 + k*k/2; > N6 := - l/2 + l*l/2; > N7 := + l/2 + l*l/2; > x := x1*N1 + x2*N2 + x3*N3 + x4*N4 + x5*N5 + x6*N6 + x7*N7; > y := y1*N1 + y2*N2 + y3*N3 + y4*N4 + y5*N5 + y6*N6 + y7*N7; > z := z1*N1 + z2*N2 + z3*N3 + z4*N4 + z5*N5 + z6*N6 + z7*N7; # The partial derivatives d(x,y,z)/d(h,k,l) are calculated: > xh := diff(x,h) ; xk := diff(x,k) ; xl := diff(x,l) ; > yh := diff(y,h) ; yk := diff(y,k) ; yl := diff(y,l) ; > zh := diff(z,h) ; zk := diff(z,k) ; zl := diff(z,l) ; > xh := subs(h=+1/2, k=+1/2, l=+1/2 , xh); > yh := subs(h=+1/2, k=+1/2, l=+1/2 , yh); > zh := subs(h=+1/2, k=+1/2, l=+1/2 , zh); > xk := subs(h=+1/2, k=+1/2, l=+1/2 , xk); > yk := subs(h=+1/2, k=+1/2, l=+1/2 , yk); > zk := subs(h=+1/2, k=+1/2, l=+1/2 , zk); > xl := subs(h=+1/2, k=+1/2, l=+1/2 , xl); > yl := subs(h=+1/2, k=+1/2, l=+1/2 , yl); > zl := subs(h=+1/2, k=+1/2, l=+1/2 , zl); > A := array([[ xh , xk , xl ], > [ yh , yk , yl ], > [ zh , zk , zl ]]); [ - x1 + x3 - x1 + x5 - x1 + x7 ] [ ] A := [ - y1 + y3 - y1 + y5 - y1 + y7 ] [ ] [ - z1 + z3 - z1 + z5 - z1 + z7 ] > quit; So if formulas are specified for the special case that (h,k,l) = (1/2,1/2,1/2) or any other of the "inscribed" brick vertices, then they reduce to well known (Finite Element) schemes for taking derivatives at a tetrahedral element, here with nodes (1,3,5,7). This means that a devising a special Finite Element Method for seven node stars in a curvilinear grid is rather pointless: such a method would NOT behave very differently from an conventional F.E. method on ordinary linear tetrahedra. - * Han de Bruijn; Applications&Graphics | "A little bit of Physics * No * TUD Computing Centre; P.O. Box 354 | would be NO idleness in * Oil * 2600 AJ Delft; The Netherlands. | Mathematics" (HdB). * for * E-mail: Han.deBruijn@RC.TUDelft.NL --| Fax: +31 15 78 37 87 ----* Blood