I found an error estimator in the L2 norm here: 
https://www.ices.utexas.edu/sites/oden/wp-content/uploads/2013/06/1997-006.a_posteriori.pdf
 , Pag 23. Is this a good error estimator to use or is it the forward euler of 
the error indicators?

Thanks

From: <simulation...@gmail.com<mailto:simulation...@gmail.com>> on behalf of 
Vikram Garg <vikram.v.g...@gmail.com<mailto:vikram.v.g...@gmail.com>>
Date: Friday, September 9, 2016 at 2:13 PM
To: Miguel Salazar <salazardet...@llnl.gov<mailto:salazardet...@llnl.gov>>
Cc: 
"libmesh-users@lists.sourceforge.net<mailto:libmesh-users@lists.sourceforge.net>"
 
<libmesh-users@lists.sourceforge.net<mailto:libmesh-users@lists.sourceforge.net>>
Subject: Re: [Libmesh-users] Dual weighted residual error estimator in libMesh

Hello Salazar,

On Fri, Sep 9, 2016 at 1:49 PM, Salazar De Troya, Miguel 
<salazardet...@llnl.gov<mailto:salazardet...@llnl.gov>> wrote:
My problem with patch recovery is that it cannot be used across an interface 
where the gradient is discontinuous.

I would say that even in cases where the gradient is discontinuous, patch 
recovery will be ok to use as an error indicator, although definitely not as an 
estimator. People have used the patch recovery for L2 error in a problem with a 
shock (again a gradient discontinuity) and gotten good error indicators.

I also see that one has to be careful when using other error indicators because 
they might be designed for the error in the energy norm or the complete H1 
norm, whereas your weighting approach needs error estimators separated for 
different cases (L2, H1 seminar, Hdiv seminorm) etc.

Yes, this is why the approach works well the patch, which can give separate 
estimates for the different variables and norms. Note that the Kelly 
implementation in libMesh only computes derivative jumps, and not flux jumps.

Using complete H1 norm indicators in conjunction with adjoint residual error 
indicators will make it difficult to apply the constitutive tensor, since it 
acts on individual components of the solution/gradient.


Miguel
From: <simulation...@gmail.com<mailto:simulation...@gmail.com>> on behalf of 
Vikram Garg <vikram.v.g...@gmail.com<mailto:vikram.v.g...@gmail.com>>
Date: Wednesday, September 7, 2016 at 10:00 AM

To: Miguel Salazar <salazardet...@llnl.gov<mailto:salazardet...@llnl.gov>>
Cc: 
"libmesh-users@lists.sourceforge.net<mailto:libmesh-users@lists.sourceforge.net>"
 
<libmesh-users@lists.sourceforge.net<mailto:libmesh-users@lists.sourceforge.net>>
Subject: Re: [Libmesh-users] Dual weighted residual error estimator in libMesh

On Wed, Sep 7, 2016 at 11:54 AM, Salazar De Troya, Miguel 
<salazardet...@llnl.gov<mailto:salazardet...@llnl.gov>> wrote:
In the case I used the Adjoint Residual Error Estimator as an error indicator 
to adaptively refine my mesh, will I obtain a more accurate goal functional 
with less refinement than if I used a primal solution based error indicator? 
Even if the error estimate of the goal functional is not reliable.


Yes, one would expect to achieve a better estimate of the goal functional (QoI) 
with the Adjoint Residual Estimator. The reliability of the error indicator 
depends on the estimators you use for the primal and dual weight calculations. 
Patch recovery tends to work well, and there is some theory behind this, which 
I can point to if there is interest.

With regards to the weighted error estimator, the implementation is for the 
patch based recovery estimators, could I do something similar for other error 
estimators, for instance, the Kelly error?

I believe extending the weighted indicator support to the Kelly error estimator 
should not be a problem. All the weights really do is scale contributions from 
each individual error component.


Thanks
Miguel
From: <simulation...@gmail.com<mailto:simulation...@gmail.com>> on behalf of 
Vikram Garg <vikram.v.g...@gmail.com<mailto:vikram.v.g...@gmail.com>>
Date: Tuesday, September 6, 2016 at 7:19 PM
To: Miguel Salazar <salazardet...@llnl.gov<mailto:salazardet...@llnl.gov>>
Cc: 
"libmesh-users@lists.sourceforge.net<mailto:libmesh-users@lists.sourceforge.net>"
 
<libmesh-users@lists.sourceforge.net<mailto:libmesh-users@lists.sourceforge.net>>
Subject: Re: [Libmesh-users] Dual weighted residual error estimator in libMesh

Hello Salazar,

On Tue, Sep 6, 2016 at 5:46 PM, Salazar De Troya, Miguel 
<salazardet...@llnl.gov<mailto:salazardet...@llnl.gov>> wrote:
Hello

I started learning about the dual weighted residual error estimator. From what 
I read here: http://cadmus.usc.edu/UQ-SummerSchool-2013/bauman.pdf there are 
two approaches in libMesh: One, calculate the adjoint solution in an enriched 
space; two, use a classic error estimator for both the primal and the adjoint 
solutions. I have two questions with regards to this approach:

  *   What is the error incurred by choosing the second option?

The second option (called Adjoint Residual Error Estimator) is suitable for use 
as an error indicator, i.e. the calculation of an element wise metric to decide 
whether they should be refined. For obtaining reliable error estimates, the 
first option (Adjoint Refinement Estimator) is the way to go.

A combined strategy can also be used, where one does a few mesh refinement 
steps using the Adjoint Residual approach, and then does a step with the 
Adjoint Refinement Estimator to check whether error tolerances have been met.

  *   In the case of elasticity, how do we apply the constitutive tensor? In 
both error estimators or just the primal? Basically, in the above presentation, 
slide 66, the application of R_k

If you use the Adjoint Refinement Error Estimator, the constitutive tensor is 
automatically included via the definition of the residual one provides in 
element_time_deriative.

If you use the Adjoint Residual Indicator, and wish to include the effect of 
the constitutive tensor, you will need to build a weights matrix. See Adjoints 
example 3.

If your constitutive tensor is nonlinear, then you will need to use the 
weighted patch recovery estimator (see 
src/error_estimation/weighted_patch_recovery_estimator.C), specify the weight 
functions and provide function pointers to them. Adjoints example 3 covers this 
as well.


Thanks
Miguel

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

Thanks.
--
Vikram Garg
Postdoctoral Associate
The University of Texas at Austin

http://vikramvgarg.wordpress.com/
http://www.runforindia.org/runners/vikramg



--
Vikram Garg
Postdoctoral Associate
The University of Texas at Austin

http://vikramvgarg.wordpress.com/
http://www.runforindia.org/runners/vikramg



--
Vikram Garg
Postdoctoral Associate
The University of Texas at Austin

http://vikramvgarg.wordpress.com/
http://www.runforindia.org/runners/vikramg
------------------------------------------------------------------------------
_______________________________________________
Libmesh-users mailing list
Libmesh-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to