ADReal ADCoord::operator+(const ADField& x) const { return evaluate() + x.evaluate(); }
ADReal ADField::operator/(const ADField& x) const { return evaluate() / x.evaluate(); }
ADReal operator*(const ADField& f) const {return ADReal(f.evaluate().gradient()[dir_], Point(0.0, 0.0, 0.0));}