OK, now that the choice of solver does not pose a problem, I consider using SCM 
to calculate the lower bound of the coercivity constant (αLB) instead of 
setting it 1 since αLB may vary a lot with the parameters and the selection of 
basis will be affected if we simply set αLB equal to 1. 

 

Hence, I refer to reduced_basis_ex2 where the SCM is implemented. However, I 
meet the error below when running the example. 

 

“Assembling affine operator 1 of 3
Assembling affine operator 2 of 3
Assembling affine operator 3 of 3
Assembling affine vector 1 of 1
Assembling output vector, (1,1) of (4,1)
Assembling output vector, (2,1) of (4,1)
Assembling output vector, (3,1) of (4,1)
Assembling output vector, (4,1) of (4,1)

B_min(0) = 1.20285e-33
Eigen solver for computing B_max did not converge”

 

Where does the problem come from and how to address it? I would appreciate your 
suggestion.

 

Gauvain

 

发件人: David Knezevic [mailto:[email protected]] 
发送时间: 2018年1月29日 10:45
收件人: Gauvain Wu <[email protected]>; libmesh-users 
<[email protected]>
主题: Re: 答复: [Libmesh-users] Not decreasing error bound

 

(Note: Please reply-all so that the answers are recorded on the libMesh-users 
list for future reference.)

 

 

On Sun, Jan 28, 2018 at 9:33 PM, <[email protected] 
<mailto:[email protected]> > wrote:

Hi David,

 

I solve the system with the command below:

 

-ksp_type preonly -pc_type lu -pc_factor_mat_solver_package mumps

 

It means that the system is solved by KSP with LU as preconditioning.

 

OK, that's good. I guess before you were using an iterative solver which just 
wasn't converging fully. Using LU is a good approach here. I would recommend 
MUMPS with LU for the reduced basis training unless your problem is too large, 
in which case you have to switch to an iterative solver.

 

 

Should I precise the asymmetric solver in my command? How to write it 
correctly? Thanks for your help.

 

No, what you have done is fine, since you asked for LU which is appropriate for 
non-symmetric matrices. (In other problems if your system is symmetric you can 
use MUMPS's cholesky solver instead, via "-pc_type cholesky".)

 

David

 

 

 

发件人: David Knezevic [mailto:[email protected] 
<mailto:[email protected]> ] 
发送时间: 2018年1月29日 10:05
收件人: Gauvain Wu <[email protected] <mailto:[email protected]> >
抄送: libmesh-users <[email protected] 
<mailto:[email protected]> >
主题: Re: [Libmesh-users] Not decreasing error bound

 

Hello,

 

The convergence behavior that you describe is typical of reduced basis 
convergence: It will plateau after an error reduction of about six orders of 
magnitude or so. So it sounds like the convergence is working fine in the sense 
that you got a reduction from 1.3569e7 to 41. When you get the message "Exiting 
greedy because the same parameters were selected twice" that is another 
indication that the greedy algorithm has plateaued.

 

I do not know why the RB solution and FE solution did not match well at the 
end, though --- that of course indicates that something is wrong. One thought; 
Did you make sure to use an asymmetric solver, since thermoelasticity is not 
symmetric?

 

David

 

 

On Sat, Jan 27, 2018 at 4:13 AM, <[email protected] 
<mailto:[email protected]> > wrote:

Hi all,



I made a thermoelasticity model based on the cantilever example,
reduced_basis_ex5, by adding a new temperature variable. At the beginning of
the basis training procedure, the maximum error bound drops sharply from
1.35694e+07 to 41 as the dimension of the basis increases from 0 to 5. After
that, although the basis dimension keeps growing, the error bound stops
decreasing and stays at a certain number. The relative training tolerance is
set at 1.e-7 and the mesh is a T-shaped pipe.



---- Basis dimension: 5 ----

Performing RB solves on training set

Maximum error bound is 2.42578



Performing truth solve at parameter:

h: 1.055972e+01

h_Tinf: 2.472563e+02

heat_flux: 4.261782e+01



---- Basis dimension: 6 ----

Performing RB solves on training set

Maximum error bound is 2.43818



Performing truth solve at parameter:

h: 1.151397e+01

h_Tinf: 2.473108e+02

heat_flux: 4.481571e+01



---- Basis dimension: 7 ----

Performing RB solves on training set

Maximum error bound is 2.44673



Exiting greedy because the same parameters were selected twice



The RB result obtained from this basis differs a lot from the FEM result. I
searched archives of the mailing list and found that this phenomenon might
result from an overly low training tolerance. However, the initial error
bound being nearly e+07, if I select a less strict tolerance, I will end up
having an unsatisfying error and probably a worse result. Could you please
suggest me some advice? I would be grateful for your response.



Best regards,

Gauvain

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Libmesh-users mailing list
[email protected] 
<mailto:[email protected]> 
https://lists.sourceforge.net/lists/listinfo/libmesh-users

 

 

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to