<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div dir="auto" style="color:rgb(33,33,33); background-color:rgb(255,255,255)"></div>
<div>Hi, all,</div>
<div><br>
</div>
<div>In the field of CFD, the prediction-correction method (e.g., the SIMPLE algorithm) has been widely used to solved the Navier-Stokes equations with finite volume method.</div>
<div><br>
</div>
<div>However, I have no idea about how it can be implemented with PETSc.</div>
<div><br>
</div>
<div>Let me describe a simplified case of creeping flow (e.g., mantle flow), in which the inertia term in the N-S equ. can be neglected and reduced to the so-called Stokes equ.</div>
<div>This equation only contains a diffusion term and source term of pressure gradient, and there are two coupled equations to solved:</div>
<div>
<ul>
<li><span>The equation of momentum conservation<br>
</span></li><li><span>The equation of mass conservation</span></li></ul>
</div>
<div>The SIMPLE does not solve these coupled equations simultaneously. Instead, this can be done in a iterative fashion with SEPERATE steps until the solutions of velocity and pressure are accurate enough:
</div>
<div><br>
</div>
<div>1. set initial u*, v*, P*</div>
<div>2. solve the momentum equation to get the velocity</div>
<div>3. solve the continuity equation to get the pressure correction P'</div>
<div>4. correct the velocity and the pressure with P' to get the new u, v, P</div>
<div>5. update the solutions: u*=u, v*=v, P*=P</div>
<div>6. go to step 2 if the solutions are not accurate enough</div>
<div><br>
</div>
<div>(A <span style="color: rgb(237, 92, 87);"><b>document </b></span>is attached to clearify the governing equation and the SIMPLE algorithm, please check the attachment)</div>
<div><br>
</div>
<div>There is a cavity flow example using TS that demonstrate how to solve N-S equations simultaneously,</div>
<div>which solve four coupled equations with nonlinear iterations inside SNES and TS, and does not involves separate prediction-correction steps like the SIMPLE algorithm above.</div>
<div><br>
</div>
<div>So, any hints about how can the SIMPLE algorithm be implemented in PETSc?</div>
<div>Particularly, how can I solve these equations in separate steps, so I can solve the governing equations in a prediction-correction fashion?</div>
<div><br>
</div>
<div>Best,</div>
<div>Qw</div>
</body>
</html>