## Re: [Libmesh-users] Pressure projection fluids algorithm completed in libmesh

 Re: [Libmesh-users] Pressure projection fluids algorithm completed in libmesh From: John Peterson - 2007-08-24 19:18:57 ```And just to keep the discussion going: I think Medale's algorithm was specific to incompressible flows. The low Mach number (slightly compressible) equations the OP asked about are a bit different, if I recall correctly. -J John Peterson writes: > Forwarded from Ben Kirk to libmesh-users. > > > Benjamin Kirk writes: > > John, Derek - NASA is blocking me from a direct post to the libmesh mailing > > list. I'll trust you to forward this along... > > > > In short, yes. Take a look in ~benkirk/phd/code/s3.implicit/src/* in the > > cfdlab. > > > > The formulation of interest is denoted rbm_medale and used Mark Medale's > > pressure projection method for the Rayleigh-Benard-Marangoni problem. > > > > I seriously doubt that the code compiles right now, but the gist is as > > follows: > > > > - three systems are used for flow, pressure, and temperature, respectively. > > - the momentum system is updated using an old pressure > > - a possion problem is solved for pressure > > - the momentum is updated using this pressure such that div(u)=0 > > - the thermal system is then solved. > > > > > > The rough idea is this: > > > > (U_new - U_old)/dt = (-grad(P) + N(U_new)) > > > > is replaced by > > > > (U_* - U_old)/dt = N(U_*) > > (U_new - U_*)/dt = -grad(P) > > > > Note that if you add them you kinda get the original PDE back. > > > > Now, > > - solve for U_* > > - solve -div(grad(P) = div(U_new - U_*)/dt = - div(U_*)/dt > > since we require div(U_new)=0 > > - solve (mass matrix projection) U_new = U_* - dt*grad(P) > > Barring any algebra mistakes. > > > > The code probably will not compile (it is from January 2004) but you can see > > all the elements in there. > > > > -Ben > > > > > > > > On 8/24/07 1:09 PM, "John Peterson" wrote: > > > > > spdomin writes: > > >> Greetings, > > >> > > >> Has anyone coded an equal order, low Mach number, i.e., acoustically > > >> incompressible, pressure projection algorithm within libMesh? If so, I would > > >> be very interested to learn more about the details of the libMesh > > >> implementation. > > >> > > > > > > I don't believe so, but I could be mistaken. Does the equal-order > > > interpolation > > > require stabilization of some type? Do you have a reference for the scheme > > > you speak of? I might be able to take a quick glance and see if there's > > > anything which would make it impossible or difficult to do in the current > > > library. > > > > > > -J ```

 [Libmesh-users] Pressure projection fluids algorithm completed in libmesh From: spdomin - 2007-08-24 18:03:51 ```Greetings, Has anyone coded an equal order, low Mach number, i.e., acoustically incompressible, pressure projection algorithm within libMesh? If so, I would be very interested to learn more about the details of the libMesh implementation. With best wishes, Stefan ```
 [Libmesh-users] Pressure projection fluids algorithm completed in libmesh From: John Peterson - 2007-08-24 18:09:50 ```spdomin writes: > Greetings, > > Has anyone coded an equal order, low Mach number, i.e., acoustically > incompressible, pressure projection algorithm within libMesh? If so, I would > be very interested to learn more about the details of the libMesh > implementation. > I don't believe so, but I could be mistaken. Does the equal-order interpolation require stabilization of some type? Do you have a reference for the scheme you speak of? I might be able to take a quick glance and see if there's anything which would make it impossible or difficult to do in the current library. -J ```
 Re: [Libmesh-users] Pressure projection fluids algorithm completed in libmesh From: John Peterson - 2007-08-24 19:15:54 ```Forwarded from Ben Kirk to libmesh-users. Benjamin Kirk writes: > John, Derek - NASA is blocking me from a direct post to the libmesh mailing > list. I'll trust you to forward this along... > > In short, yes. Take a look in ~benkirk/phd/code/s3.implicit/src/* in the > cfdlab. > > The formulation of interest is denoted rbm_medale and used Mark Medale's > pressure projection method for the Rayleigh-Benard-Marangoni problem. > > I seriously doubt that the code compiles right now, but the gist is as > follows: > > - three systems are used for flow, pressure, and temperature, respectively. > - the momentum system is updated using an old pressure > - a possion problem is solved for pressure > - the momentum is updated using this pressure such that div(u)=0 > - the thermal system is then solved. > > > The rough idea is this: > > (U_new - U_old)/dt = (-grad(P) + N(U_new)) > > is replaced by > > (U_* - U_old)/dt = N(U_*) > (U_new - U_*)/dt = -grad(P) > > Note that if you add them you kinda get the original PDE back. > > Now, > - solve for U_* > - solve -div(grad(P) = div(U_new - U_*)/dt = - div(U_*)/dt > since we require div(U_new)=0 > - solve (mass matrix projection) U_new = U_* - dt*grad(P) > Barring any algebra mistakes. > > The code probably will not compile (it is from January 2004) but you can see > all the elements in there. > > -Ben > > > > On 8/24/07 1:09 PM, "John Peterson" wrote: > > > spdomin writes: > >> Greetings, > >> > >> Has anyone coded an equal order, low Mach number, i.e., acoustically > >> incompressible, pressure projection algorithm within libMesh? If so, I would > >> be very interested to learn more about the details of the libMesh > >> implementation. > >> > > > > I don't believe so, but I could be mistaken. Does the equal-order > > interpolation > > require stabilization of some type? Do you have a reference for the scheme > > you speak of? I might be able to take a quick glance and see if there's > > anything which would make it impossible or difficult to do in the current > > library. > > > > -J ```
 Re: [Libmesh-users] Pressure projection fluids algorithm completed in libmesh From: John Peterson - 2007-08-24 19:18:57 ```And just to keep the discussion going: I think Medale's algorithm was specific to incompressible flows. The low Mach number (slightly compressible) equations the OP asked about are a bit different, if I recall correctly. -J John Peterson writes: > Forwarded from Ben Kirk to libmesh-users. > > > Benjamin Kirk writes: > > John, Derek - NASA is blocking me from a direct post to the libmesh mailing > > list. I'll trust you to forward this along... > > > > In short, yes. Take a look in ~benkirk/phd/code/s3.implicit/src/* in the > > cfdlab. > > > > The formulation of interest is denoted rbm_medale and used Mark Medale's > > pressure projection method for the Rayleigh-Benard-Marangoni problem. > > > > I seriously doubt that the code compiles right now, but the gist is as > > follows: > > > > - three systems are used for flow, pressure, and temperature, respectively. > > - the momentum system is updated using an old pressure > > - a possion problem is solved for pressure > > - the momentum is updated using this pressure such that div(u)=0 > > - the thermal system is then solved. > > > > > > The rough idea is this: > > > > (U_new - U_old)/dt = (-grad(P) + N(U_new)) > > > > is replaced by > > > > (U_* - U_old)/dt = N(U_*) > > (U_new - U_*)/dt = -grad(P) > > > > Note that if you add them you kinda get the original PDE back. > > > > Now, > > - solve for U_* > > - solve -div(grad(P) = div(U_new - U_*)/dt = - div(U_*)/dt > > since we require div(U_new)=0 > > - solve (mass matrix projection) U_new = U_* - dt*grad(P) > > Barring any algebra mistakes. > > > > The code probably will not compile (it is from January 2004) but you can see > > all the elements in there. > > > > -Ben > > > > > > > > On 8/24/07 1:09 PM, "John Peterson" wrote: > > > > > spdomin writes: > > >> Greetings, > > >> > > >> Has anyone coded an equal order, low Mach number, i.e., acoustically > > >> incompressible, pressure projection algorithm within libMesh? If so, I would > > >> be very interested to learn more about the details of the libMesh > > >> implementation. > > >> > > > > > > I don't believe so, but I could be mistaken. Does the equal-order > > > interpolation > > > require stabilization of some type? Do you have a reference for the scheme > > > you speak of? I might be able to take a quick glance and see if there's > > > anything which would make it impossible or difficult to do in the current > > > library. > > > > > > -J ```