Subsequent I consider the transient heat exchange problem of a ring in polar coordinates.
The ring is heated in a small range 0<\[CurlyPhi]<20° and cooled along the rest of the circumference.
The Method of Lines together with PeriodicBoundaryConditions nearly solves the problem as expected:
tsim = 10; \[CapitalDelta]\[CurlyPhi] = 20 Degree; Tu = 20 ; T0 = 100;
U = NDSolveValue[{ Derivative[1, 0 ][u][t, \[CurlyPhi]] + .1 Derivative[0, 1 ][u][t, \[CurlyPhi]] == .1 Derivative[0, 2][u][t, \[CurlyPhi]]+ 25 Boole[0 < \[CurlyPhi] < \[CapitalDelta]\[CurlyPhi]] (* heating *)- .1 Boole[\[CapitalDelta]\[CurlyPhi] < \[CurlyPhi] < 2 Pi] (u[t, \[CurlyPhi]] - Tu) (* couling*), u[0, \[CurlyPhi]] == T0 (*ic*), PeriodicBoundaryCondition[u[t, \[CurlyPhi]], \[CurlyPhi] == 2 Pi, Function[{x}, x - 2 Pi]]},
u,{\[CurlyPhi], 0, 2 Pi}, {t, 0, tsim}
, Method -> {"MethodOfLines", "TemporalVariable" ->t,"SpatialDiscretization" -> {"FiniteElement"}}]
Plot[Table[U[t, \[CurlyPhi]], {t, Subdivide[0, tsim, 20]}], {\[CurlyPhi], 0,2 Pi}, GridLines -> {{\[CapitalDelta]\[CurlyPhi]}, {T0}},PlotRange -> {0, 200}, PlotLabel -> "temperature(varying time)",AxesLabel -> {\[CurlyPhi], T[t, \[CurlyPhi]]}, AxesOrigin -> {0, 0}]
As you can see, probably due to the imposed PeriodicBoundaryCondition, the slope of the temperature at \[CurlyPhi]==0 is zero and different to the slope at \[CurlyPhi]==2Pi .
For physical reasons I would expect a solution with periodic slope.
My question:
How can I force NDSolve to give a periodic solution u[t,0]==u[t,2Pi] and D[u[t,0],\[CurlyPhi]]==D[u[t,2Pi],\[CurlyPhi]]
Thanks!

TensorProductGride.g.u[t, 0] == u[t, 2 Pi]andMethod -> {"MethodOfLines", "SpatialDiscretization" -> {"TensorProductGrid", "MaxPoints" -> 100, "MinPoints" -> 100, "DifferenceOrder" -> 4}}the result will be the desired one. – xzczd Sep 02 '19 at 10:36TensorProductGridwithoutPeriodicBoundaryConditionseems to be the right one! – Ulrich Neumann Sep 02 '19 at 10:59