struct grad_u {
  point operator() (const point& x) const { 
    return -pi*point(
     sin(pi*x[0])*cos(pi*x[1])*cos(pi*x[2]),
     cos(pi*x[0])*sin(pi*x[1])*cos(pi*x[2]), 
     cos(pi*x[0])*cos(pi*x[1])*sin(pi*x[2])); }
  grad_u(size_t d1) : d(d1), pi(acos(Float(-1.0))) {}
  size_t d; Float pi;
};
