Thank you for your reply, but I still have not solved my problem.

My questions seemed to be something wrong, so I want to ask again about a 
posteriori error estimation.

 

According to “Reduced Basis Approximation and A Posteriori Error Estimation for 
Parameterized Partial Differential Equations” by Anthony T. Patera and 
Gianluigi Rozza, there are two error estimators, (i) energy-norm error bounds 
and (ii) X-norm error bounds. 

 

I think that these estimators are related to the variable “abs_error_bound” in 
the “Real RBEvaluation::rb_solve(unsigned int N)” code.

Here I do not know if “abs_error_bound” is energy-norm error bounds or X-norm 
error bounds.

This is the original question I intended in the first email.

 

I am always thankful for your kind answers, David.

 

Best regards,

SKang

 

From: David Knezevic <[email protected]> 
Sent: Monday, October 15, 2018 10:00 AM
To: 강신성 <[email protected]>
Cc: libmesh-users <[email protected]>
Subject: Re: [Libmesh-users] [RB] Question about a poseteriori error estimation

 

On Sun, Oct 14, 2018 at 8:40 PM <[email protected] 
<mailto:[email protected]> > wrote:

Thanks to your help, I understood inner-product and norm in the LibMesh.

 

However, I have another question about the dual norm of residual.

Despite the parameter-independent norm, I know that we need to a reference 
parameter set to compute the residual.

 

How is this reference parameter set selected in our parameter domain? 

Do they use random or middle value in the parameter domain as a reference 
parameter set?

 

I will be waiting for your reply.

 

As I mentioned below, you define the inner product however you like. The code 
that determines the inner product/norm that is used is the assembly routine 
that is passed to "set_inner_product_assembly", so in that assembly routine you 
can set a particular parameter that is used to define the inner product matrix 
if that's what you want. You're right that in the RB literature it's common to 
choose an inner product based on the operator sampled at a particular 
parameter, and in order to do that in libMesh's RB code you have to do it 
manually in the inner product assembly code.

 

Best,

David

 

 

 

 

From: David Knezevic <[email protected] 
<mailto:[email protected]> > 
Sent: Monday, October 15, 2018 2:45 AM
To: 강신성 <[email protected] <mailto:[email protected]> >
Cc: libmesh-users <[email protected] 
<mailto:[email protected]> >
Subject: Re: [Libmesh-users] [RB] Question about a poseteriori error estimation

 

On Sun, Oct 14, 2018 at 3:45 AM <[email protected] 
<mailto:[email protected]> > wrote:

Thank you for your prompt reply, David.

 

I looked at the “assembly.h” in RB example 1 and my code, and I understood your 
answer.

You said inner-product must be parameter-independent.

That is, dual norm of residual in LibMesh is always “X-norm” 
(parameter-independent norm), right?

 

Yes, it uses the parameter-independent inner product and norm that you specify. 
(I'm not familiar with referring to this as the "X-norm", but if that's what 
you want to call it then that's fine.)

 

By the way, if you do not mind, could you please tell me what special case used 
the parameter in “compute_residual_dual_norm(N)” code?

 

You call compute_residual_dual_norm after you do a solve. So the parameter mu 
that is used inside compute_residual_dual_norm is the parameter that was used 
for the preceding solve. The idea is that you're getting the dual norm of the 
residual associated with your previous solve.

 

Best,

David

 

 

 

From: David Knezevic <[email protected] 
<mailto:[email protected]> > 
Sent: Friday, October 12, 2018 9:30 PM
To: 강신성 <[email protected] <mailto:[email protected]> >
Cc: libmesh-users <[email protected] 
<mailto:[email protected]> >
Subject: Re: [Libmesh-users] [RB] Question about a poseteriori error estimation

 

On Fri, Oct 12, 2018 at 2:58 AM <[email protected] 
<mailto:[email protected]> > wrote:

Hello, all.



I have a question about the RB error estimation in LibMesh.



I know that the maximum error bound is computed in the function
"RBConstruction::compute_max_error_bound()."

Here we should compute the "dual norm of residual" using the function
"compute_residual_dual_norm(N)."

But I do not know exactly if this "dual norm of residual" is "X-norm" or
"energy-norm," where "X-norm" is parameter-independent and "energy-norm" is
parameter-dependent.

 

The norm that is used is specified by the user. For example, in 
reduced_basis_ex1, we set the inner product in SimpleRBConstruction to be the 
"A0" operator (and the inner product is used to generate the norm). So the 
inner-product and norm that is used is completely up to you.

 

Note, though, that the inner product must be parameter independent. This is 
necessary since we don't want to change the inner product when we change 
parameters.

 

 

When I looked at the "compute_residual_dual_norm(N)" code, the current
parameter is called by the "const RBParameters & mu = get_parameters();"
code line.

So I guess the "dual norm of residual" is the "energy-norm," and I would
like to ask if it is correct.

 

No, the residual is whatever is specified by the user by calling 
"set_inner_product_assembly". The parameter is used to evaluate the dual norm 
in any specific case, but that is not related to the inner product that is used.

 

Best,
David


_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to