# Specifying different Neumann boundary values on different parts of a boundary

In Mathematica PDE solvers (say by FEM), the specification of Neumann boundary conditions is by specifying NeumannValue[..] (see Mathematica documentation, and also example below). However, I have different Neumann boundary values on different parts of the boundary (I am well aware of consistency conditions required for Neumann b.c's and my b.v's do satisfy these). This causes a problem. For example, Mathematica gives as an example for a Neumann value on one part and a Dirichlet conditon on another part of the boundary:

NDSolveValue[{-Laplacian[u[x, y], {x, y}] == NeumannValue[1., x >= 0.35],
DirichletCondition[u[x, y] == 0., x <= -0.3]}, u, Element[{x, y}, Disk[]]]


If I attempt to specifiy NeumannValues (different ones) on both parts of a boundary, Mathematica thinks I am equating a scalar (the equation) to a vector (the boundary values) and declares a parsing error.

Does anyone know how to specify Neumann b.c.'s on a boundary with different values on two parts of the boundary?

Marco: I am happy to send the entire notebook, but here is a fragment that has the problem. Before exhibiting it, let me say I have tried variations such as splitting the two Neumann conditions, call them N1 for one part, N2 on another and providing them that way. Also I have tried the || separator as well. None of them work. (All of them would work syntactically at leaset were these Dirichlet conditions which are specified by DirichletCondition.):

waveop2D = Div[Grad[u[x, y], {x, y}], {x, y}] + a u[x, y];

Subscript[\[CapitalGamma], N] = {NeumannValue[-(I \[Rho]0 - 1/(
2 r0)) u[x, y], x^2 + y^2 == r0^2],
NeumannValue[
I \[Kappa]1[y] E^(I (x \[Kappa]1[y] + y \[Kappa]2[y]) ),
x == 0 && -1 <= y <= 1]}

Timing[ufun =
NDSolveValue[{waveop2D == Subscript[\[CapitalGamma], N]},
u, {x, y} \[Element] region]]

NDSolveValue::femper: PDE parsing error of {{u+u$1051+u$1052-NeumannValue[(1/16-I) Removed[u$1081],x^2+y^2==64],u+u$1051+u\$1052-NeumannValue[(I E^(I Plus[<<2>>]))/Sqrt[2],x==0&&-1<=y<=1]}}. Inconsistent equation dimensions.


USER 21: Thank you very much!

• @Raghu, please show the actual code that gives you trouble, rather than non-relevant sample code from the docs. – MarcoB Jun 13 '18 at 18:41
• @MarcoB Oops. I should start reading text with white background again... ;) – Henrik Schumacher Jun 13 '18 at 18:42
• I have edited my entry to attempt to answer you. I can send the notebook to you if you like. – Raghu Raghavan Jun 14 '18 at 13:18

NDSolveValue[{-Laplacian[u[x, y], {x, y}] ==