convecting an inert scalar with a robust solver

4 views
Skip to first unread message

Brian

unread,
Feb 1, 2009, 12:26:19 AM2/1/09
to amrita-ebook
Hi guys,

I am trying to model a non-reactive case of high pressure hydrogen
being released into air (a pressure ratio of 100 to 1000). If I solve
the EulerEquations I have to use a robust solver like the Godunov
solver or the simulation will fail. The Roe solver generates a NAN
because it cannot handle the high strength shock that is generated in
the simulation. What I would like to do is convect an inert scalar
(I'll call it alpha) in order to track where the two gases are
throughout the release process. The equation I would like to add to
the solver is:

d(rho*alpha)/dt + d(rho*u*alpha)/dx + d(rho*v*alpha)/dy = 0

One approach I have tried is to use the ReactiveEulerEquations set and
use Z as my tracking variable. I made it non-reactive (or inert) by
setting the solver variables Q and K to zero. However I can only find
the Roe solver option in the ReactiveEulerEquations. Is there a
robust solver I can use with the ReactiveEulerEquations in order to
run a simulation that can handle strong shocks, or am I better off to
add the equation above to the EulerEquations via the add2W option? If
so is there a way I can easily integrate alpha using the godunov
solver routine that calculates the other variables (RHO, P, U, V, E)?
Has anyone tried this, or have examples?

Thanks,

Brian

James Quirk

unread,
Feb 2, 2009, 12:13:42 AM2/2/09
to Brian, amrita-ebook
Brian,

Try running the example:

amrcp bcg/axs.3

it generates 108 different solvers for the ReactiveEulerEquations.

Also, take a look at:

amrcp contrib/sk.mailit

it shows how you might construct a two material solver,
although note that the script could do with polishing
as t was written way back in 1999 and is a bit klunky.

James

>
> Brian

Reply all
Reply to author
Forward
0 new messages