From: 蔡园武 <yuanwucai@gm...>  20120829 02:02:27

2012/8/29 Vikram Garg <simulationist@...>: > Hey Yuanwu, > Can you tell us what kind of linear solver options you > are using (the method, preconditioner options passed at runtime) ? I used the default option. (I don't know what's the default?) #EquationSystems n_systems()=1 System #0, "homogenization_elastic_3D_plate" Type "LinearImplicit" Variables="u" "v" "w" Finite Element Types="LAGRANGE" "LAGRANGE" "LAGRANGE" Approximation Orders="FIRST" "FIRST" "FIRST" n_dofs()=648 n_local_dofs()=648 n_constrained_dofs()=198 n_local_constrained_dofs()=198 n_vectors()=13 n_matrices()=1 DofMap Sparsity Average OnProcessor Bandwidth <= 84 Average OffProcessor Bandwidth <= 0 Maximum OnProcessor Bandwidth <= 144 Maximum OffProcessor Bandwidth <= 0 DofMap Constraints Number of DoF Constraints = 198 Average DoF Constraint Length= 1 > If you > are using the same stiffness matrix (K) and just changing the rhs (F), That's just what I'm doing. > then > you might actually be better of just using the LU preconditioner for one > load and reusing it for the others. How to set it in my code? Can you give me a simple example? Thanks for your answer! > > Thanks. > > On Tue, Aug 28, 2012 at 8:45 PM, 蔡园武 <yuanwucai@...> wrote: >> >> Hi, guys, >> I have a LinearImplicitSystem, solved with a sequential of different >> force vectors (rhs). >> Actually I defined different 'Fe' assemble function using a 'loadcase' >> indicator. In main function, I set the 'loadcase' value, call >> system.solve(), then es.reinit(), set a new 'loadcase' value, and >> solve() again. >> But I found that for some 'loadcase', the solver converged badly, like: >> >> loadcase1: Linear solver converged at step: 10736, final residual: >> 2.00331e21 >> loadcase2: Linear solver converged at step: 8549, final residual: >> 2.10685e21 >> loadcase3: Linear solver converged at step: 8, final residual: 1.38269e07 >> loadcase4: Linear solver converged at step: 0, final residual: 0.463112 >> loadcase5: Linear solver converged at step: 0, final residual: 0.463112 >> loadcase6: Linear solver converged at step: 0, final residual: 0.463112 >> >> In loadcase3, Linear solver converged at step 8, final resudual is not >> small enough. It's very strange that the loadcases after this didn't >> run? (converged at step 0?) The results are wrong and unbelievable. >> But if I solve loadcase3 after all the other loadcases, then loadcase >> 4,5,6 will be all right. Don't know why? >> >> Can I mannually control the final resudual tolerance? I did set a >> parameter in es: >> es.parameters.set<unsigned int> ("linear solver maximum >> iterations") = 20000; >> es.parameters.set<Real> ("linear solver tolerance") = TOLERANCE; >> >> Thanks for your help！ >>  >> Cai Yuanwu 蔡园武 >> Dept. of Engineering Mechanics, >> Dalian University of Technology, >> Dalian 116024, China >> >> >>  >> Live Security Virtual Conference >> Exclusive live event will cover all the ways today's security and >> threat landscape has changed and how IT managers can respond. Discussions >> will include endpoint security, mobile security and the latest in malware >> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ >> _______________________________________________ >> Libmeshusers mailing list >> Libmeshusers@... >> https://lists.sourceforge.net/lists/listinfo/libmeshusers > > > > >  > Vikram Garg > PhD Candidate > Institute for Computational and Engineering Sciences > The University of Texas at Austin > > http://users.ices.utexas.edu/~vikram/ > http://www.runforindia.org/runners/vikramg >  Cai Yuanwu 蔡园武 Dept. of Engineering Mechanics, Dalian University of Technology, Dalian 116024, China 