From m_wens01 at wwu.de Wed Mar 20 12:15:30 2019 From: m_wens01 at wwu.de (Michael Wenske) Date: Wed, 20 Mar 2019 12:15:30 +0100 Subject: [dune-pdelab] Global Integral condition (Lagrange Multiplier) for diffusive problem Message-ID: Hello experts, I want to impose an integral condition upon a diffusive problem in dune-PDElab. As an example, assume a box of unity with a circle in the middle (\Omega_{int}) which is constrained to u=1. Outside of the circle (\Omega / \Omega_{int}) the profile is ruled by: -\Delta u = f(u)  in \Omega / \Omega_{int}, f(u)=u(1-u) I do not impose any constraints at the outside of the box. Now, without any further constraints the only solution to the problem is a profile of u=1 everywhere, due to the logistic growth in the reaction term, the flattening by the diffusive operator and the constraint in the middle. I want to impose a further constraint to gain a non-trivial solution to the profile. \int_{\Omega} u dx = V_{total} which basically expresses that I am only interested in a solution which has a certain total volume in the domain. Please consider the image for visualization. Now the elegant way (correct me if I'm wrong) to do that would be via a Lagrange multiplier: r(u,v) = a(u,v) +l(u,v) + \lambda* (Volume - V_{tot}) Here, r(u,v) is the residuum to be minimized by my newton solver, a(u,v) is the bilinear form and l(u,v) the discretisation of the reaction term (as usual). How would I go about implementing such a constraint in a clean way? The penalty terms in DG- methods only need local information, so they can be easily added to the methods in the local operator. The methods assembling the different parts of the residuum in the Localoperator only have the local dof's as arguments but what I need is not a constraint on any single dof, but a global one as stated above. How would I add such a constraint within dune-PDELab? I would also be thankful if anyone has a hint to relevant literature for -integral- constraints. Thanks in advance, Michael -------------- next part -------------- A non-text attachment was scrubbed... Name: 2D_volume_constrained_profile.png Type: image/png Size: 33021 bytes Desc: not available URL: From m_wens01 at wwu.de Wed Mar 20 13:36:59 2019 From: m_wens01 at wwu.de (Michael Wenske) Date: Wed, 20 Mar 2019 13:36:59 +0100 Subject: [dune-pdelab] Fwd: Global Integral condition (Lagrange Multiplier) for diffusive problem In-Reply-To: <758823e8-5402-6135-b436-1b26b189d2ac@mi.fu-berlin.de> References: <758823e8-5402-6135-b436-1b26b189d2ac@mi.fu-berlin.de> Message-ID: <015986a9-e859-49d2-3786-c9e3963220e5@wwu.de> Thank you Carsten for answering! (I take the liberty to forward your reply to the mailing list.) You are correct, it is a different problem which I solve. My take on it is, that penalty terms and lagrange multipliers are quite similar. In the one case you have a functional f(x) and a condition g(x) = c which you combine to the new Lagrange functional to be minimized: L(x,lambda) = f(x) - lambda*(g(x)-c). Penalty terms enforcing boundary conditions work in much the same way it seems. Anyhow, how would I approach implementing global volume constraints like this in pdelab? thanks, Michael -------- Forwarded Message -------- Subject: Re: [dune-pdelab] Global Integral condition (Lagrange Multiplier) for diffusive problem Date: Wed, 20 Mar 2019 12:43:39 +0100 From: Carsten Gräser To: Michael Wenske Hi Michael, I'm not an expert on PDElab, but I can give some comments on the outlined approach: Am 20.03.19 um 12:15 schrieb Michael Wenske: [...] > I do not impose any constraints at the outside of the box. Now, without > any further constraints > the only solution to the problem is a profile of u=1 everywhere, due to > the logistic growth > in the reaction term, the flattening by the diffusive operator and the > constraint in the middle. > > I want to impose a further constraint to gain a non-trivial solution to > the profile. This cannot work out. If it's correct that there's only one solution without constraints, then you cannot generate others by imposing further constraints. You may, however, get other solutions for an associated minimization problem with constraints, but this will solve a different PDE. [...] > Now the elegant way (correct me if I'm wrong) to do that would be via a > Lagrange multiplier: > > r(u,v) = a(u,v) +l(u,v) + \lambda* (Volume - V_{tot}) While I'm not sure what exactly you want to solve, this does not look like a dual approach with lambda being a Lagrange multiplier but more like a penalty approach with penalty factor lambda. Regards, Carsten > > Here, r(u,v) is the residuum to be minimized by my newton solver, a(u,v) > is the bilinear form and l(u,v) the > discretisation of the reaction term (as usual). > > How would I go about implementing such a constraint in a clean way? The > penalty terms in DG- methods only need local information, so they can be > easily added to the > methods in the local operator. The methods assembling the different > parts of the residuum in the Localoperator only have the local dof's as > arguments but what I need is not a constraint on any single dof, but a > global one > as stated above. > > How would I add such a constraint within dune-PDELab? I would also be > thankful if anyone has a hint to > relevant literature for -integral- constraints. > > Thanks in advance, > > Michael -------------- next part -------------- An HTML attachment was scrubbed... URL: From graeser at mi.fu-berlin.de Wed Mar 20 15:36:56 2019 From: graeser at mi.fu-berlin.de (=?UTF-8?Q?Carsten_Gr=c3=a4ser?=) Date: Wed, 20 Mar 2019 15:36:56 +0100 Subject: [dune-pdelab] Fwd: Global Integral condition (Lagrange Multiplier) for diffusive problem In-Reply-To: <015986a9-e859-49d2-3786-c9e3963220e5@wwu.de> References: <758823e8-5402-6135-b436-1b26b189d2ac@mi.fu-berlin.de> <015986a9-e859-49d2-3786-c9e3963220e5@wwu.de> Message-ID: Am 20.03.19 um 13:36 schrieb Michael Wenske: > Thank you Carsten for answering! > > (I take the liberty to forward your reply to the mailing list.) > > You are correct, it is a different problem which I solve. > > My take on it is, that penalty terms and lagrange multipliers are quite > similar. Unfortunately they are not: > In the one case you have a functional f(x) and a condition g(x) = c > which you combine > to the new Lagrange functional to be minimized: L(x,lambda) = f(x) - > lambda*(g(x)-c). Yes, that's a classical formulation with a Lagrange multiplier. Here you would look for saddle point of L which is a (x,lambda) pair. In the penalty formulation you would look for a minimizer x of J(x) = f(x) + lambda*|g(x)-c|^2 for fixed scalar lambda. This essentially corresponds to your nonlinear residual r(.,.). > Penalty terms enforcing boundary conditions work in much the same way it > seems. > > Anyhow, how would I approach implementing global volume constraints like > this in pdelab? I think it would be helpful to know which of those formulations you aim at, since they are _very_ different. Best, Carsten > > thanks, > > Michael > > > -------- Forwarded Message -------- > Subject: Re: [dune-pdelab] Global Integral condition (Lagrange > Multiplier) for diffusive problem > Date: Wed, 20 Mar 2019 12:43:39 +0100 > From: Carsten Gräser > To: Michael Wenske > > > > Hi Michael, > I'm not an expert on PDElab, but I can give some comments > on the outlined approach: > > Am 20.03.19 um 12:15 schrieb Michael Wenske: > [...] >> I do not impose any constraints at the outside of the box. Now, without >> any further constraints >> the only solution to the problem is a profile of u=1 everywhere, due to >> the logistic growth >> in the reaction term, the flattening by the diffusive operator and the >> constraint in the middle. >> >> I want to impose a further constraint to gain a non-trivial solution to >> the profile. > This cannot work out. If it's correct that there's only one > solution without constraints, then you cannot generate others > by imposing further constraints. You may, however, get other > solutions for an associated minimization problem with constraints, > but this will solve a different PDE. > > [...] >> Now the elegant way (correct me if I'm wrong) to do that would be via a >> Lagrange multiplier: >> >> r(u,v) = a(u,v) +l(u,v) + \lambda* (Volume - V_{tot}) > While I'm not sure what exactly you want to solve, this > does not look like a dual approach with lambda being > a Lagrange multiplier but more like a penalty approach > with penalty factor lambda. > > Regards, > Carsten > >> >> Here, r(u,v) is the residuum to be minimized by my newton solver, a(u,v) >> is the bilinear form and l(u,v) the >> discretisation of the reaction term (as usual). >> >> How would I go about implementing such a constraint in a clean way? The >> penalty terms in DG- methods only need local information, so they can be >> easily added to the >> methods in the local operator. The methods assembling the different >> parts of the residuum in the Localoperator only have the local dof's as >> arguments but what I need is not a constraint on any single dof, but a >> global one >> as stated above. >> >> How would I add such a constraint within dune-PDELab? I would also be >> thankful if anyone has a hint to >> relevant literature for -integral- constraints. >> >> Thanks in advance, >> >> Michael > > > > > _______________________________________________ > dune-pdelab mailing list > dune-pdelab at lists.dune-project.org > https://lists.dune-project.org/mailman/listinfo/dune-pdelab > -- Prof. Dr. Carsten Gräser Freie Universität Berlin Institut für Mathematik Arnimallee 6 14195 Berlin, Germany phone: +49 30 838 72637 fax : +49 30 838 472637 email: graeser at mi.fu-berlin.de URL : http://page.mi.fu-berlin.de/graeser -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 488 bytes Desc: OpenPGP digital signature URL: