From babak.s.hosseini at gmail.com Mon Apr 23 02:06:43 2018 From: babak.s.hosseini at gmail.com (Babak S. Hosseini) Date: Mon, 23 Apr 2018 11:06:43 +0200 Subject: [pmwiki-users-fr] Fwd: Newton Method for the Steady Navier-Stokes equations | Poor nonlinear iteration convergence In-Reply-To: References: Message-ID: Hello, I have no experience with freefem whatsoever and wanted to quickly test a simple flow scenario, such as a channel flow in a unit square. Flow scenario: ============== // Navier Stokes Poiseuille flow on the unit square ([0-1]x[0-1]) // // v1,v2=0 // -------------- // Parapolic ->| | // velocity -->| | // profile --->| | Velo nodes on the outflow boundary are treated as inner nodes ("do nothing"). // Umax=1 -->| | Pressure nodes on the outflow boundary are forced to have a zero pressure value at the end // ->| | // -------------- // v1,v2=0 // // Analytical solution of the Poiseuille Flow given by: // Parapolic velocity profile: // v1 = 4 * Umax * y * (H - y) / H^2 = 4 * Umax * y * (1 - y) (with height H = 1) // v2 = 0 // p = (8 - 8x) * nu (with nu = 1) For the above test, I have 1) exchanged the geometry of example 'ff++/examples++-chapt3/NSNewton.edp' with the unit square, 2) modified the initial guess for velocity to reflect the parabolic profile, 3) modified the essential boundary conditions to + on( inflow, du1 = v1Inflow( x, y, 0 ), du2 = 0 ) + on( outflow, dp = 0 ) + on( noflow, du1 = 0, du2 = 0 ) and 4) removed the modification of the viscosity and hard coded a fixed viscosity. Now, something seems to be wrong, since the convergence of the nonlinear iteration is very poor: Number of DOFs: 2502 Nonlinear iteration 0: err = 3.752999689e+14 eps = 0.05 Nonlinear iteration 1: err = 2.999999938 eps = 0.05 Nonlinear iteration 2: err = 1.515290196 eps = 0.05 Nonlinear iteration 3: err = 1.017809712 eps = 0.05 Nonlinear iteration 4: err = 0.768919228 eps = 0.05 For the same flow scenario I obtain the following convergence rate with an alternative fem package: ndofs: 59 Nonlinear iteration 0: r (abs)=6.2970e-01 (tol=1.00e-10) r (rel)=1.0000e+00 (tol=1.00e-03) Starting nonlinear iteration Nonlinear iteration 1: r (abs)=7.2845e-02 (tol=1.00e-10) r (rel)=1.1568e-01 (tol=1.00e-03) Nonlinear iteration 2: r (abs)=1.0712e-06 (tol=1.00e-10) r (rel)=1.7011e-06 (tol=1.00e-03) Nonlinear iteration 3: r (abs)=1.4101e-15 (tol=1.00e-10) r (rel)=2.2393e-15 (tol=1.00e-03) Above, r (abs) corresponds to the l2 norm of F in newton iteration: (J delU = -F; u += delU), where F( = NS * u - b) is the residual of the system. Moreover, the results produced by freefem *with my current scripting* of the problem are totally wrong. I will attach my freefem script and a picture of the correct velocity and pressure profiles to this mail for comparison. Any hints are welcome. Thanks in advance. p.s.: The installed version is: -- FreeFem++ v 3.570001 (date Wed Jan 10 13:15:59 CET 2018) Babak S. Hosseini -- Kind regards Babak S. Hosseini -------------- section suivante -------------- Une pièce jointe HTML a été nettoyée... URL: -------------- section suivante -------------- Une pièce jointe autre que texte a été nettoyée... Nom: correct.png Type: image/png Taille: 11165 octets Desc: non disponible URL: -------------- section suivante -------------- Une pièce jointe autre que texte a été nettoyée... Nom: navsto_newton.edp Type: application/octet-stream Taille: 6855 octets Desc: non disponible URL: -------------- section suivante -------------- Une pièce jointe autre que texte a été nettoyée... Nom: colormapHSVjet.edp Type: application/octet-stream Taille: 2320 octets Desc: non disponible URL: