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 <mpovo...@purdue.edu> 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 <mpovo...@purdue.edu> 
> > 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
> >> Libmesh-users@lists.sourceforge.net
> >> https://lists.sourceforge.net/lists/listinfo/libmesh-users
>


_______________________________________________
Libmesh-users mailing list
Libmesh-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to