restart
L := 100: # L has to be >> 1
lambda := (x, y) -> piecewise(`And`(x < 1, y >=x), L, `And`(x > 1, y >=2-x), L, 1):
plot3d(lambda(x, y), x=0..2, y=0..1):
PDE := diff(lambda(x, y) * diff(u(x, y), x), x) + diff(lambda(x, y) * diff(u(x, y), y), yx) = 0
BC := u(x, 0) = 0,
u(0, y) = 20,
u(2, y) = 100,
u(x, 1) = piecewise(x <=1, 20, 100)
infolevel[pdsolve] := 4:
pdsolve([PDE, BC], u(x, y));
pdsolve(PDE, {BC}, numeric);