gdtk icon indicating copy to clipboard operation
gdtk copied to clipboard

General questions about asf flux (and variants) usage, flux implemenation, and scale-resolving simulation model development

Open plaad opened this issue 1 year ago • 0 comments

Hi All,

A prior discussion indicated that the asf flux scheme can provide up to 4th order spatial accuracy for scale-resolving simulations and that the adaptive_ausmdv_asf blended could be used generally for most high-order applications.

Being said, I have a few small questions:

  1. I took an existing case where I had run a simple inviscid expansion corner with the Roe flux which works fine and tried to switch the flux scheme to the adaptive_ausmdv_asf scheme. I was running with 1 node, 36 cores and when trying with this scheme, my run does not seem to proceed as inspection of the output and error files indicate:

out: Read Grid Metadata. #connections: 0 #grids: 36 Build runtime config files. NOTE: Increasing n_ghost_cell_layers to 3. Build fluid files. err: core.exception.ArrayIndexError@./fluxcalc.d(2254): index [1] is out of bounds for array of length 0 ----------------core.exception.ArrayIndexError@./fluxcalc.d(2254): index [1] is out of bounds for array of length 0 ----------------core.exception.ArrayIndexError@./fluxcalc.d(2254): index [1] is out of bounds for array of length 0 ... and so on for the 36 cores I am using. My guess is that to use these flux methods, I would need more nodes/memory as this seems be an error due to the larger stencils required. I am doing an inviscid study so my grid is rather coarse (so should not be costly to run) but I would like to compare the numerics of the 4th blended scheme vs conventional second order Roe. I see in the globalconfig.d routine that ghost-cell BCs must be used; for an unstructured grid (as I am typically using), I use conventional extrapolate, inflow, walls, and symmetry so I would think this is ok. As per your experience, are there any recommendations to follow?

  1. For adding a new flux scheme, I see I could add a new flux calculator function in the fluxcalc.d routine, and this option should be set in the globalconfig.d to be made available to the code, but are there any other routines to modify? It seems there a quite a few options not discussed on the online docs, but I would like to add a few of my own (can share here so you all can include for the next release if useful to you all*).

  2. For scale-resolving simulations, I see an IDDES capability is present along with a few other models as per the classes present in the turbulence.d routine; however, if I wanted implement a WMLES setup and add the filtered NS equations along with different wall models (or none if ILES), what is the correct way to proceed generally given the structure of the code? Class object set up would be done in the turbulence.d routine but do you have any pointers on how to best proceed with the undertaking?

Thanks for your time and attention.

plaad avatar Oct 07 '24 21:10 plaad