Week 11

August 2017 ยท 1 minute read

During week 11 I extended differential operator to handle mixed coordinate system.

Mixed means that scalar or vector which we’re using as argument has elements coming from several different coordinate systems. Not necessarily connected. These work were split into three PR’s, one for every differential operator, gradient#13118 , divergence#13128 and curl#13154.

To implement this, we need to only take care about product rule for scalar and vector, but they are well defined.

Basically we didn’t change any behavior but now when we put expression like

a = CoordSys3D('a') b = CoordSys3D('b', transformation='spherical') s = a.x*b.z gradient(s)

they are correctly interpreted.

b.z*a.i + (a.x/(b.x*sin(b.y)))*b.k