Replies: 5 comments 11 replies
|
Automatic mention of the @trilinos/muelu team |
|
When you say that the result is not correct: does MueLu fail to converge? I'm assuming you're using MueLu as a preconditioner in Belos. Does the solve achieve the desired tolerance? EDIT1: Also, what do you mean by "the simulations crashed immediately"? MueLu should not crash. EDIT2: Oh, this is Stokes. So you're effectively mushing together all degrees of freedom without regard for pressure or velocities. If the (2,2) block has a zero diagonal then a crash is not that surprising. |
|
Dear Christian, Thank you very much for your support. I am using a right preconditioner with Flexible GMRES, and I compute the residual error explicitly as follows: typedef Belos::MultiVecTraits<ST, MV> MVT;
typedef Belos::OperatorTraits<ST, MV, OP> OPT;
std::vector<double> rhs_norm(1);
MVT::MvNorm( *b, rhs_norm );
Epetra_MultiVector resid(A->RowMap(), 1);
OPT::Apply( *A, *x, resid );
MVT::MvAddMv( -1.0, resid, 1.0, *b, resid );
std::vector<double> res_error(1);
MVT::MvNorm( resid, res_error);
abs_res_err_ = res_error[0];
rel_res_err_ = res_error[0]/rhs_norm[0]; In my simulation, the pressure is on the order of I have used the same MueLu preconditioner on problems where both pressure and velocity are small and comparable in scale, and in those cases, the solution is accurate. |
|
|
@dgmaths9 I wonder if the ILU settings are different between the GMRES/RILUK and GMRES/MueLu results. Please post the multigrid summary (section labeled "Summary") from the GMRES/MueLu/ILU run. If you have setup output from the successful GMRES/RILUK output, please post that as well, thanks. |

Uh oh!
There was an error while loading. Please reload this page.
Hi @jhux2,
I am trying to solve the Stokes flow equations accounting change in density due to pressure. The application is the magma flow in the underground reservoir with initial pressure around 30 MPa. For discretization I use stabilized finite element method with linear elements (P1 or Q1). In my code, the DOFs are arranged as p, v1, v2 for each node i.e.
p, v1, v2, p,v1, v2, ...
The global matrix is unsymmetric.
I first tried with
GMRESfromBelosandRILUKpreconditioner fromIFPACK2that produced right results although taking too many iterations and thus more computational time. As an improvement I wanted to use MUELU for faster computations, however, with MUELU the results are not correct. I see that pressure largely oscilates (see attached figure).So far I have tried these options
unsmoothedand smoother:ILUpgand smoother:ILUIn smoother I also tried the
level of fill0 and 1. WIth both options the results (with minor difference) were incorrect.I also tried
Relaxation: Jacobiwith sweeps 1 and damping 0.9, but the simulations crashed immediately.Here is the MueLu precondition configuration I used for the unsmoothed case:
I would appreciate If you can suggest what to try to get the correct results.
Many thanks,
Deepak
All reactions