laplace equation (oblique coordinates ' both direction : v,u ' )
petervlasschaert@gmail,14/11/2017

kill(all)$

in this example :α = 0,skewed structure.

q1: matrix(
 [p1a,p1b,p1c], 
 [p2a,p2b,p2c], 
 [p3a,p3b,p3c]
);

p1:x=v+u*cos(β);
p2:y=u*sin(β);

depends(φ,[v,u]);
depends(φ,[x,y]);
depends(v,[x,y]);
depends(u,[x,y]);

p3:'diff(φ,v) =diff(φ,x)*diff(part(p1,2),v)+diff(φ,y)*diff(part(p2,2),v);
p4:'diff(φ,u) =diff(φ,x)*diff(part(p1,2),u)+diff(φ,y)*diff(part(p2,2),u);

p5:'diff(φ,v,2)=diff(rhs(p3),x)*diff(rhs(p1),v)+diff(rhs(p3),y)*diff(rhs(p2),v);
p5a:lhs(p5)=trigsimp(rhs(p5));
p6x:coeff(rhs(p4),diff(φ,x));
p6y:coeff(rhs(p4),diff(φ,y));
p6:'diff(φ,u,2)=p6x*diff(rhs(p4),x)+p6y*diff(rhs(p4),y);
p6a:lhs(p6)=trigsimp(rhs(p6));

p1a:coeff(rhs(p5a),diff(φ,x,2));
p2a:coeff(rhs(p5a),diff(φ,y,2));
p3a:coeff(rhs(p5a),diff(φ,x,1,y,1));

p1b:coeff(rhs(p6a),diff(φ,x,2));
p2b:coeff(rhs(p6a),diff(φ,y,2));
p3b:coeff(rhs(p6a),diff(φ,x,1,y,1));

find :diff(φ,v,1,u,1)

p8x:coeff(rhs(p3),diff(φ,x));
p8y:coeff(rhs(p3),diff(φ,y));

p8a:'diff(φ,v,1,u,1)=diff(rhs(p4),x)+p8y*diff(rhs(p4),y);

p1c:coeff(rhs(p8a),diff(φ,x,2));
p2c:coeff(rhs(p8a),diff(φ,y,2));
p3c:coeff(rhs(p8a),diff(φ,x,1,y,1));

sol:solve([p5a,p6a,p8a], [diff(φ,x,2),diff(φ,y,2),diff(φ,x,1,y,1)])[1];

definition : q1

q1: matrix(
 [p1a,p2a,p3a], 
 [p1b,p2b,p3b], 
 [p1c,p2c,p3c]
);

q1^(-1) =  inverse(q1)

q2:invert(q1);

rhs() of the equation. (to find Δφ(v,u))

q3: matrix(
 [lhs(p5a)], 
 [lhs(p6a)], 
 [lhs(p8a)]
);

;

q4:transpose(q3);

laplace equation : "skewed v u coordinates",  Δφ(v,u) =   ?

find : matrix entries from q2

q2[1,1];
q2[2,1];
q2[3,1];

 Δφ(v,u) =   lap = lap1a+lap2 a=diff(φ,x,2)+diff(φ,y,2)

t1:transpose([q2[1,1],q2[1,2],q2[1,3]])*q3;
t2:transpose([q2[2,1],q2[2,2],q2[2,3]])*q3;
t3:transpose([q2[3,1],q2[3,2],q2[3,3]])*q3;
lap1a:t1[1,1]+t1[2,1]+t1[3,1];
lap2a:t2[1,1]+t2[2,1]+t2[3,1];
lap3a:t3[1,1]+t3[2,1]+t3[3,1];
lap:lap1a+lap2a;
lapfinal:'diff(φ,x,2)+'diff(φ,y,2) =factor(trigsimp(lap));

rem: diff(φ,x,1,y,1) = ?      f(diff(φ,v,2),diff(φ,u,2),diff(φ,u,1,v,1))

'diff(φ,x,1,y,1)=factor(lap3a);