### How to add single-valued unknown (numbers) to variational problem?

102

views

0

Dear all,

I am trying to solve following system (in domain \(\Omega = (0, 1)\) )

\[

\int_0^1 F_y (y) \ \hat{y} \ dx + G_y(y(0),a) \ \hat{y}(0) = 0 ,

\\

F_a(y(0),a) = 0 ,

\]

where \(y(x)\) is spatially dependent function, \( \hat{y}(x) \) is also spatially dependent test function and \(a\) is only single unknown (a number). The last equation is only an algebraic constraint (without any derivative). The system is coupled, because the value of \(a\) influences the Neumann BC in the first equation.

I would like to use NonlinearVariationalProblem and Newton's method to solve this system but I do not know how to add the unknown \( a \) (without any testfunctions or whatever) to the form F.

Do you have any suggestion?

Thank you very much!

I am trying to solve following system (in domain \(\Omega = (0, 1)\) )

\[

\int_0^1 F_y (y) \ \hat{y} \ dx + G_y(y(0),a) \ \hat{y}(0) = 0 ,

\\

F_a(y(0),a) = 0 ,

\]

where \(y(x)\) is spatially dependent function, \( \hat{y}(x) \) is also spatially dependent test function and \(a\) is only single unknown (a number). The last equation is only an algebraic constraint (without any derivative). The system is coupled, because the value of \(a\) influences the Neumann BC in the first equation.

I would like to use NonlinearVariationalProblem and Newton's method to solve this system but I do not know how to add the unknown \( a \) (without any testfunctions or whatever) to the form F.

Do you have any suggestion?

Thank you very much!

Community: FEniCS Project

### 1 Answer

3

You might take a look at the "Real" type element for global scalar unknowns, as demonstrated here

https://fenics.readthedocs.io/projects/dolfin/en/stable/demos/neumann-poisson/python/demo_neumann-poisson.py.html

in the context of discretizing the Lagrange multiplier for a constraint of zero average solution on a pure-Neumann-BC problem.

If I understand the present problem correctly, the extra equation would become the weak subproblem \(\int_{\partial\Omega}(1-x)F_a(y,a)b\,ds = 0\), where \(b\) is a test "function" associated with \(a\), and integrating over \(\partial\Omega\) and weighting by \(1-x\) is effectively a Dirac measure at \(x=0\). (You could also restrict \(ds\) to a subdomain at \(x=0\) instead of weighting the integral over the whole boundary.)

https://fenics.readthedocs.io/projects/dolfin/en/stable/demos/neumann-poisson/python/demo_neumann-poisson.py.html

in the context of discretizing the Lagrange multiplier for a constraint of zero average solution on a pure-Neumann-BC problem.

If I understand the present problem correctly, the extra equation would become the weak subproblem \(\int_{\partial\Omega}(1-x)F_a(y,a)b\,ds = 0\), where \(b\) is a test "function" associated with \(a\), and integrating over \(\partial\Omega\) and weighting by \(1-x\) is effectively a Dirac measure at \(x=0\). (You could also restrict \(ds\) to a subdomain at \(x=0\) instead of weighting the integral over the whole boundary.)

Thank you very much! This is exactly what I was looking for.

written
10 weeks ago by
Lishack

Please login to add an answer/comment or follow this question.