From: David K. <dav...@ak...> - 2018-01-29 13:51:10
|
On Sun, Jan 28, 2018 at 11:24 PM, <cau...@gm...> wrote: > 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. > Are you using "-eps_type lapack"? If not, I would try that. David *发件人**:* David Knezevic [mailto:dav...@ak...] *发送时间:* 2018年1月29日 10:45 *收件人:* Gauvain Wu <cau...@gm...>; libmesh-users < lib...@li...> *主题:* 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, <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 |