>
> Hello,
>
> I have a question about how the boundary conditions are setup in the
> pulsate problem.
> I have noticed that the ZND solution is interpolated to the west
The "interp" function is used to paint the ZND profile into
the computational domain, but the solution is not really interpolated
to the boundary in the sense suggested by your e-mail. What happens
is that the last point in the profile is taken as the piston-state
for the overdriven detonation. And the piston-state is
prescribed on the western boundary and written to all
the mesh cells from the western edge of the Domain to the
back of the ZND wave.
> boundary when the problem is setup, but does the solution at this
> boundary remain constant throughout the simulation? If I am passing a
In this particular problem the answer is yes.
> ZND wave over an object close to the western bounday, should I specify
> an extrapolative boundary instead if I do not want to have any
> reflections from the western boundary affect my solution?
As a first effort, I would probably position the object far
enough from the western boundary such that the reflected wave
does not reach the boundary during the duration of the simulation.
> I also have another question, this time regarding how Amrita treats
> the Znd waves.
> I wanted to make the initial ZND profile larger or smaller than 1 unit
> on the coarse grid. I found that when I initialize the flow field
> after running Compute ZND with
> Xd ::= X[]-$Xd
> RM ::= interp($znd.RHO,Xd[])
> UM ::= interp($znd.U ,Xd[])
> PM ::= interp($znd.P ,Xd[])
> ZM ::= interp($znd.Z ,Xd[])
>
> if I multiply Xd[] by some factor, it stretches the initial profile of
> the ZND wave. For example:
>
> Xd ::= X[]-$Xd
> RM ::= interp($znd.RHO,0.25*Xd[])
> UM ::= interp($znd.U ,0.25*Xd[])
> PM ::= interp($znd.P ,0.25*Xd[])
> ZM ::= interp($znd.Z ,0.25*Xd[])
> This will make the half reaction length equal to 4 units instead of
> one. However, after the simulation runs for some time (without an
> obstruction), the half reaction length reduces in size. Should it not
> stay as 4 units? Is there a better way to stretch the initial znd
No. The width of the reaction zone is fixed by the rate contstant Kz
(assuming you're using the 1-step Arrenhius model) and has nothing
to do with the Xd[] mapping. What you did was to stretch, artificially,
the ZND profile for your initial conditions, but when
the wave is propagated it will revert under its own steam to the
width supported by the reaction model.
I'm not fully sure what you're wanting to do. Are you wanting
the coarsest grid to have four times the resolution? Or are you
wanting to change the non-dimensionalization, such that the
half-reaction length is 4 instead of one? The former you can
do by employing 4*Npts for the number of mesh points on the finest mesh.
The latter you can do by rescaling Kz.
> profile?
>
> Thanks,
>
> Brian
James
On Thu, 12 Jun 2008, Brian wrote:
>
> What I am trying to do is the latter of the two. Where do I find Kz
I meant K for the 1-step Arrenhius, and not Kz, sorry for the confusion.
But why do you want to change it? All you're doing by changing K
is changing the effective non-dimensionalization used for time,
you're not actually changing the ZND wave's behaviour and so
the results will effectively be the same.
James
>
> James,
>
> I am trying to have the half reaction length of the detonation wave
> cover about half of the computational domain without compromising the
> number of course grids. Is there a way to accomplish this?
All you need do is to specify the lscale for the coarsest grid, G0,
as opposed to the finest grid, G$lmax or g0. Thus if your coarse grid
is IM cells wide you could say:
lscale 2/$IM
But again I'm not sure why you would want the computational
domain to cover such a small spatial extent.
James