From: Vikram G. <vik...@gm...> - 2019-03-14 20:03:34
|
Hello Michael, If you want to estimate the error incurred due to the use of the penalty method in a specific functional (say Q(u)), you can do so by computing epsilon*Q( du/depsilon ). Here 1/epsilon is the penalty we are setting. The function du/depsilon is the the derivative of the solution with respect to epsilon. If you are using FEMSystem, the quantity Q( du/depsilon ) can be computed automatically using the system.forward_qoi_parameter_sensitivity function. For an example of its use, see adjoints_ex2.C and just replace system.adjoint_qoi_parameter_sensitivity function with system.forward_qoi_parameter_sensitivity function. You will also need to store the penalty parameter in a parameter_vector as in L-shaped.h and L-shaped.C. The theory behind this is a Taylor series expansion for Q in terms of epsilon about epsilon = 0, which is our non-penalized 'true' functional. Thanks. Vikram Garg vikramvgarg.github.io/ On Thu, Mar 14, 2019 at 2:12 PM Michael Povolotskyi <mpo...@pu...> wrote: > > Thank you Vikram, > > I'm solving the electromagnetic wave equation using Newmark system. > > What are forward_sensitivity_derivatives that you are talking about? > > Michael. > > > > On 03/14/2019 03:08 PM, Vikram Garg wrote: > > If you are worried about accuracy issues due to the use of penalties, > > then there are ways of quantifying these pretty well using > > forward_sensitivity_derivatives, when taken with respect the penalty. > > > > Thanks. > > Vikram Garg > > > > vikramvgarg.github.io/ > > > > On Thu, Mar 14, 2019 at 2:03 PM Michael Povolotskyi <mpo...@pu...> wrote: > >> Thank you, > >> > >> the penalty method is what I'm currently doing. > >> > >> Michael. > >> > >> > >> On 03/14/2019 03:00 PM, Stogner, Roy H wrote: > >>> On Thu, 14 Mar 2019, Michael Povolotskyi wrote: > >>> > >>>> is it possible to apply dirichlet boundary conditions for Nedelec elements? > >>> I don't believe so - the former predate the latter and at quick glance > >>> the code seems hardcoded to expect scalar variable fields. > >>> > >>> You might be stuck using a penalty method as a workaround. > >>> --- > >>> Roy > >> > >> > >> _______________________________________________ > >> Libmesh-users mailing list > >> Lib...@li... > >> https://lists.sourceforge.net/lists/listinfo/libmesh-users > |