NekBox / nekpy

Nek workflows in dask
MIT License
1 stars 5 forks source link

Addition of Genrun to NekPy #1

Closed lcarasik closed 7 years ago

lcarasik commented 8 years ago

Dear developer,

It would be very useful if a python based front-end for genbox was implemented into NekPy. If Genrun could be added it would likely satisfy this request. Can you please try and integrate this tool into a future version of NekPy?

Thanks!

maxhutch commented 8 years ago

Hi @lcarasik ,

Thanks for the suggestion! genrun supports Nek5000 in two ways:

  1. Calling external genmap and, optionally, genbox
  2. Using an internal version of genbox and a genmap that only works on single boxes

Are you using box files with a single box? Are the problems big enough that you value a faster genmap?

lcarasik commented 8 years ago

Hey @maxhutch

I'm running box files with a single box, but I'm going to expand it into several if I can. I have not reached the point that genmap takes a long time to execute, but I can imagine I will reach that point soon enough.

Thanks!

maxhutch commented 8 years ago

Ok, let's plan for multiple boxes and then figure out how to extend the internal genmap to that latter. Right now, a single box is represented in the input dictionary via the keys shape_mesh, root_mesh, extent_mesh, and scale_mesh. Boundary conditions are tacked in with the bounds values. How do you think that should look for multiple boxes?

My first thought would be to wrap those parameters in a dictionary, and then have boxes be a list of those dictionaries. That might be too deep, though.

Are there relationships between your boundary conditions that you want to be able to express?

lcarasik commented 8 years ago

I'm still learning about Python's code structure, but based off what I've read the list containing a different dictionary for each box doesn't seem too deep. The two areas where I can see a lot of problems occurring are:

  1. Apply boundary conditions other than a simple wall across multiple boxes sharing the same surface
  2. Maintain coherency of where the boxes are connected/conform

What do you mean by relationships? Such as, periodic boundary conditions between two surfaces? or?

maxhutch commented 8 years ago

Yes, but also just overall number. Each box has 6 {thermal, fluid} boundaries, so 12 * the number of boxes values to set. If there's one box, its not a huge deal. If you have a few, I could imagine it being very verbose.

On Fri, May 27, 2016 at 2:23 PM lcarasik notifications@github.com wrote:

I'm still learning about Python's code structure, but based off what I've read the list containing a different dictionary for each box doesn't seem too deep. The two areas where I can see a lot of problems occurring are:

  1. Apply boundary conditions other than a simple wall across multiple boxes sharing the same surface
  2. Maintain coherency of where the boxes are connected/conform

What do you mean by relationships? Such as, periodic boundary conditions between two surfaces? or?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/maxhutch/nekpy/issues/1#issuecomment-222232828, or mute the thread https://github.com/notifications/unsubscribe/ABd7pHrRygLUN5vJssGQtMmbeYXesJNaks5qF0TNgaJpZM4Inlew .

lcarasik commented 8 years ago

Which is understandable, but I can't think of a less verbose way of doing it. I'll keep thinking about it though.

I'm not sure if this already exists or not, but I'm interesting in trying to add functionality such as,

  1. Calculation of non-equal sized elements in genbox a. One-Sided Hyperbolic b. Two-Sided Hyperbolic c. Potentially other functions
  2. Basic presentation of elements without having to run Nek5000 in postprocessing mode.

Thoughts? Another issue ticket?

maxhutch commented 8 years ago

Ok. I'll start with the simple, verbose option and we can iterate from there.

  1. should be a new issue, but it should be relatively easy to support
  2. might already be covered with nek-analyze, let's discuss in a new issue as well
lcarasik commented 8 years ago

Sounds good, I'll go ahead and start another issue for each one.

maxhutch commented 8 years ago

I just re-added legacy support in the legacy branch. Can you check that it works for you? Single-box for now.

maxhutch commented 7 years ago

I think this was closed with #6