From: David K. <dav...@ak...> - 2018-01-29 02:44:57
|
(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, <cau...@gm...> 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:dav...@ak...] *发送时间:* 2018年1月29日 10:05 *收件人:* Gauvain Wu <cau...@gm...> *抄送:* libmesh-users <lib...@li...> *主题:* 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, <cau...@gm...> 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 Lib...@li... https://lists.sourceforge.net/lists/listinfo/libmesh-users |