Why Periodic BCs does not converge when using the Newton solver?

Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Why Periodic BCs does not converge when using the Newton solver?

xwj123456
This post was updated on .
Hello,
   I encountered difficulties in using Periodic BCs. In two dependent variable case, Periodic BCs  can only converge in very simple equations (one time Newton to converge). If the equations are nonlinear, it does not converge. For example, in a rectangle(0, 1, 0, 1) region, two simple Poisson- equations. It can converge with all DirBCs. If changing to Periodic BCs (Left =Right, using ex_swirl_flow3.m), it does not converge. The code is


fea.phys.ce.eqn.seqn = 'u'' + (ux_x + uy_y) = sin(x)+q';
fea.phys.ce2.eqn.seqn = 'q'' + (qx_x + qy_y)=sin(x)*u';
fea.phys.ce.bdr.coef = { 'bcnd_ce', '', '', {''}, ...
                         { 1, 0,      1, 0 }, [], ...
                         { 0    , @periodic_bc, 0,    0     } };

fea.phys.ce2.bdr.coef = { 'bcnd_ce2', '', '', {''}, ...
                         { 1, 0,      1, 0 }, [], ...
                         { 0    , @periodic_bc, 0,    0    } };

The Newton solver:

fea.sol.u = solvestat( fea, 'nsolve',2);


if( i_bdr~=2 || solve_step~=1 )  
  return                        
end
j_bdr = 4;

If 'nsolve' to be 1 or -1, it can converge. However, if using the Newton solver, it does not converge. I can not find the reason. The pure Newton solver is important for other related problems.