|
Intrepid
|
00001 psi0 = lambda x: 0.5 * x * ( x - 1.0 ) 00002 psi1 = lambda x: ( 1.0 - x ) * ( 1.0 + x ) 00003 psi2 = lambda x: 0.5 * x * ( 1.0 + x ) 00004 psi = [psi0,psi1,psi2] 00005 00006 dpsi0 = lambda x: x - 0.5 00007 dpsi1 = lambda x: -2.0 * x 00008 dpsi2 = lambda x: x + 0.5 00009 dpsi = [dpsi0,dpsi1,dpsi2] 00010 00011 ddpsi0 = lambda x: 1.0 00012 ddpsi1 = lambda x: -2.0 00013 ddpsi2 = lambda x: 1.0 00014 ddpsi = [ddpsi0, ddpsi1, ddpsi2] 00015 00016 xs = [ -1.0 , 0.0 , 1.0 ] 00017 pts = [ (xs[i],xs[j],xs[k]) for k in range(3) for j in range(3) for i in range(3) ] 00018 00019 00020 # This is D1 00021 #for k in range(3): 00022 # for j in range(3): 00023 # for i in range(3): 00024 # for pt in pts: 00025 # print dpsi[i](pt[0])*psi[j](pt[1])*psi[k](pt[2]) 00026 # print psi[i](pt[0])*dpsi[j](pt[1])*psi[k](pt[2]) 00027 # print psi[i](pt[0])*psi[j](pt[1])*dpsi[k](pt[2]) 00028 00029 # This is for D2 00030 #for k in range(3): 00031 # for j in range(3): 00032 # for i in range(3): 00033 # for pt in pts: 00034 # # (2,0,0) 00035 # print ddpsi[i](pt[0])*psi[j](pt[1])*psi[k](pt[2]) 00036 # # (1,1,0) 00037 # print dpsi[i](pt[0])*dpsi[j](pt[1])*psi[k](pt[2]) 00038 # # (1,0,1) 00039 # print dpsi[i](pt[0])*psi[j](pt[1])*dpsi[k](pt[2]) 00040 # # (0,2,0) 00041 # print psi[i](pt[0])*ddpsi[j](pt[1])*psi[k](pt[2]) 00042 # # (0,1,1) 00043 # print psi[i](pt[0])*dpsi[j](pt[1])*dpsi[k](pt[2]) 00044 # # (0,0,2) 00045 # print psi[i](pt[0])*psi[j](pt[1])*ddpsi[k](pt[2]) 00046 00047 # This is for D3 00048 #for k in range(3): 00049 # for j in range(3): 00050 # for i in range(3): 00051 # for pt in pts: 00052 # # (3,0,0) 00053 # print 0.0 00054 # # (2,1,0) 00055 # print ddpsi[i](pt[0])*dpsi[j](pt[1])*psi[k](pt[2]) 00056 # # (2,0,1) 00057 # print ddpsi[i](pt[0])*psi[j](pt[1])*dpsi[k](pt[2]) 00058 # # (1,2,0) 00059 # print dpsi[i](pt[0])*ddpsi[j](pt[1])*psi[k](pt[2]) 00060 # # (1,1,1) 00061 # print dpsi[i](pt[0])*dpsi[j](pt[1])*dpsi[k](pt[2]) 00062 # # (1,0,2) 00063 # print dpsi[i](pt[0])*psi[j](pt[1])*ddpsi[k](pt[2]) 00064 # # (0,3,0) 00065 # print 0.0 00066 # # (0,2,1) 00067 # print psi[i](pt[0])*ddpsi[j](pt[1])*dpsi[k](pt[2]) 00068 # # (0,1,2) 00069 # print psi[i](pt[0])*dpsi[j](pt[1])*ddpsi[k](pt[2]) 00070 # # (0,0,3) 00071 # print 0.0 00072 00073 # This is for D4 00074 for k in range(3): 00075 for j in range(3): 00076 for i in range(3): 00077 for pt in pts: 00078 # (4,0,0) 00079 print 0.0 00080 # (3,1,0) 00081 print 0.0 00082 # (3,0,1) 00083 print 0.0 00084 # (2,2,0) 00085 print ddpsi[i](pt[0])*ddpsi[j](pt[1])*psi[k](pt[2]) 00086 # (2,1,1) 00087 print ddpsi[i](pt[0])*dpsi[j](pt[1])*dpsi[k](pt[2]) 00088 # (2,0,2) 00089 print ddpsi[i](pt[0])*psi[j](pt[1])*ddpsi[k](pt[2]) 00090 # (1,3,0) 00091 print 0.0 00092 # (1,2,1) 00093 print dpsi[i](pt[0])*ddpsi[j](pt[1])*dpsi[k](pt[2]) 00094 # (1,1,2) 00095 print dpsi[i](pt[0])*dpsi[j](pt[1])*ddpsi[k](pt[2]) 00096 # (1,0,3) 00097 print 0.0 00098 # (0,4,0) 00099 print 0.0 00100 # (0,3,1) 00101 print 0.0 00102 # (0,2,2) 00103 print psi[i](pt[0])*ddpsi[j](pt[1])*ddpsi[k](pt[2]) 00104 # (0,1,3) 00105 print 0.0 00106 # (0,0,4) 00107 print 0.0 00108 00109
1.7.6.1