On Sun, Oct 14, 2018 at 8:40 PM <ss.k...@pusan.ac.kr> 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 <david.kneze...@akselos.com> > *Sent:* Monday, October 15, 2018 2:45 AM > *To:* 강신성 <ss.k...@pusan.ac.kr> > *Cc:* libmesh-users <libmesh-users@lists.sourceforge.net> > *Subject:* Re: [Libmesh-users] [RB] Question about a poseteriori error > estimation > > > > On Sun, Oct 14, 2018 at 3:45 AM <ss.k...@pusan.ac.kr> 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 <david.kneze...@akselos.com> > *Sent:* Friday, October 12, 2018 9:30 PM > *To:* 강신성 <ss.k...@pusan.ac.kr> > *Cc:* libmesh-users <libmesh-users@lists.sourceforge.net> > *Subject:* Re: [Libmesh-users] [RB] Question about a poseteriori error > estimation > > > > On Fri, Oct 12, 2018 at 2:58 AM <ss.k...@pusan.ac.kr> 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 Libmesh-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libmesh-users