[FLASH-USERS] Implementing Jet via

Alex Robinson - UKRI STFC alex.robinson at stfc.ac.uk
Wed Jul 24 07:11:24 EDT 2019


Hello Chaps,
     I think that I have nailed the problem, but I’m missing a few things in my overall understanding.  I think however that the real issue is to closely inspect what is actually implemented in Grid_applyBCEdge.F90.  It contains reflecting, outflow and diode.  I then added a user BC as well.  However in trying to run  in cylindrical I then requested the ‘axisymmetric’ BC for xl, and I think this is the real problem as it doesn’t exist in the OneRow route at the moment..? (but it obviously does if you don’t implement the BCs via this route – maybe my understanding is flawed here).

   Anyway going on this hypothesis – when I recompiled with -2d but without +cylindrical and specified ‘cartesian’ and ‘reflect’ in flash.par it compiled, ran, and produced the expected output.

  Then when I recomiled with -2d *and with* +cylindrical and specified ‘cylindrical’ and ‘reflect’ in flash.par then it compiled, ran and produced the expected output*.  So given that success/failure hinges on ‘reflect’ or ‘axisymmetric’ and nothing else, I am forced to conclude that the non-existence of ‘axisymmetric’ in Grid_applyBCEdge.F90 is the root of the problem.  I guess that Ryan and Ernesto came to a very similar conclusion?


*In a pure hydrodynamic simulation is there any real difference between reflect and axisymmetric on xl?  Can I do what I want to do (given there are no b-fields) with ‘reflect’ alone?

Thanks,
Alex

Dr. A.P.L. Robinson,
Plasma Physics Group Leader,
Central Laser Facility
STFC Rutherford-Appleton Laboratory
Tel. : 01235 77 8368


From: <flash-users-bounces at flash.uchicago.edu> on behalf of Ryan Farber <rjfarber at umich.edu>
Date: Tuesday, 23 July 2019 at 21:57
To: Ernesto Zurbriggen <ezurbriggen at unc.edu.ar>
Cc: flash-users <flash-users at flash.uchicago.edu>
Subject: Re: [FLASH-USERS] Implementing Jet via

Hi Alex,

I agree that the WindTunnel's Grid_applyBCEdge is a good starting point.
In Grid_applyBCEdge, the user boundary condition is triggered if bcType == USER_DEFINED where USER_DEFINED is #defined to be -38 in my constants.h

Grid_init grabs xl_boundary_type from flash.par and maps that string to an integer. So you could check to make sure that initial part is proceeding correctly (i.e., if you print out gr_domainBC(LOW,:) do you get a value matching USER_DEFINED in your constants.h?
If so, you can then forward trace gr_domainBC until you get to where your abort is that Ernesto pointed out (or backtrace from there).

In any case, I would guess that using +cylindrical geometry is the issue. Do you get the abort message without that (i.e., for cartesian)?

Also, what version of FLASH are you using?

Best,
--------
Ryan


On Tue, Jul 23, 2019 at 8:47 AM Ernesto Zurbriggen <ezurbriggen at unc.edu.ar<mailto:ezurbriggen at unc.edu.ar>> wrote:
Hi Alex!

Did you have a look at the routine /Grid/GridBoundaryConditions/gr_bcApplyToOneFace.F90, specifically at line 180?
It's probable you are setting a boundary condition type that is not being handled.

Best!


El mar., 23 jul. 2019 a las 11:00, Alex Robinson - UKRI STFC (<alex.robinson at stfc.ac.uk<mailto:alex.robinson at stfc.ac.uk>>) escribió:
Hello flash users,
     I would have thought that this has already been done, however I would like to set up a simulation where a jet is injected by implementing a boundary condition for this.  I had thought that using ‘Wind Tunnel’ as a basis for this would be a good idea, and using the ‘GridBoundaryConditions/OneRow’ approach where I have my own Grid_applyBCEdge.F90 file in the simulation directory.  This compiles fine (setup line reads : ./setup Jet -auto -2d +cylindrical +ug -nxb=200 -nyb=200) .  However when I try to run this, the simulation aborts with the message : DRIVER_ABORT : unsupported boundary condition on Lower Face.  This is after I set the yl_boundary_type to be either ‘user’ or ‘user-defined’.  I have specified REQUIRES Grid/GridBoundaryConditions/OneRow in the config file.

This message implies that despite my Grid_applyBCEdge.F90 file being in the simulation directory that it hasn’t overridden the default method as no ‘user’ implementation appears in the standard file in the source.  However I can’t see what I haven’t done that has lead to the overriding not happening.  Any advice?

Thanks,
Alex


--
PhD Ernesto Zurbriggen

Email: ezurbriggen at unc.edu.ar<mailto:ezurbriggen at unc.edu.ar>


More information about the flash-users mailing list