On Thu, Apr 14, 2011 at 10:03:42AM -0000, B. Emek Abali wrote: > Question #152702 on DOLFIN changed: > https://answers.launchpad.net/dolfin/+question/152702 > > B. Emek Abali posted a new comment: > probably not the coolest way but I solved it as that way, one can also > implement it like dolfin.Identity class > > class levicivita2(Expression): > def eval(self, out, x): > out[0,0] = 0.0 > out[0,1] = 1.0 > out[1,1] = 0.0 > out[1,0] = -1.0 > def value_shape(self): > return (3,3) > > class levicivita3(Expression): > def eval(self, out, x): > out[0,0,0] = 0.0 > out[1,1,1] = 0.0 > out[2,2,2] = 0.0 > out[0,1,2] = 1.0 > out[1,2,0] = 1.0 > out[2,0,1] = 1.0 > out[2,1,0] = -1.0 > out[1,0,2] = -1.0 > out[0,2,1] = -1.0 > def value_shape(self): > return (3,3,3) > > e=levicivita3() > form = v[j]*w[i]*e[i,j,l]*v[l]*dx
This might work but it will most likely be slow since it will result in a run-time callback (during assembly) to the eval function you have defined. -- Anders _______________________________________________ Mailing list: https://launchpad.net/~dolfin Post to : dolfin@lists.launchpad.net Unsubscribe : https://launchpad.net/~dolfin More help : https://help.launchpad.net/ListHelp