MFlowCode / MFC

Exascale simulation of multiphase/physics fluid dynamics
https://mflowcode.github.io
MIT License
132 stars 56 forks source link

Remove grid stretch parameters from simulation inputs #430

Closed haochey closed 1 month ago

haochey commented 1 month ago

Description

This PR removes the grid stretch parameters xyz_{ab} from the simulation input parameters in case_dicts.py.

Type of change

Scope

How Has This Been Tested?

It builds successfully on my local MacOS. Simulations with stretched grid are not crashing.

sbryngelson commented 1 month ago

are you sure simulation doesn't need grid stretching parameters? it's easy to check... I recommend just changing to (IBM) notation so we don't repeat letters

haochey commented 1 month ago

are you sure simulation doesn't need grid stretching parameters? it's easy to check... I recommend just changing to (IBM) notation so we don't repeat letters

Hi Spencer, I just made a couple tests for IB touching DBs on stretched girds. All the configurations are the same as the test listed in PR#407 except for the stretching configuration:

    'stretch_x'                : 'T',
    'a_x'                          : 7,
    'x_a'                          : 0.5*x1,
    'x_b'                          : 1.5*x1,  
    'stretch_y'                : 'T',
    'a_y'                          : 3,
    'y_a'                          : 0.9*x2,
    'y_b'                          : 1.1*x2, 

https://github.com/MFlowCode/MFC/assets/98496194/40cbfc1a-b0ca-4f24-8299-c6fc2501a939

It looks fine to me. The current simulation stage is not using any stretching parameters and the domain sizes appear to be the only additional parameters it needs for IBM.

sbryngelson commented 1 month ago

@haochey, thank you - this seems fine to me, though I'm a little confused about the whole situation. @lee-hyeoksu said you added {xyz}_{ab} to the case parameter input file for the domain boundary treatment. What are those parameters used for?

If they are used for something related to IBs, you presumably cannot use both those and domain stretching simultaneously (you would have to pick one or the other). Right?

It's possible I'm just misunderstanding something.

haochey commented 1 month ago

@sbryngelson Thanks for the message. xyz_{ab} are not used for IBs. I believe they are only used in the pre_process stage.

When I try to add xyz_{domain%beg} and xyz_{domain%end}, I mistakenly added xyz_{ab} to the simulation inputs in case_dicts.py as @lee-hyeoksu mentioned.

Therefore, simply deleting them from the case_dicts.py will fix @lee-hyeoksu's issue and won't affect the domain boundary treatment.

sbryngelson commented 1 month ago

got it. thanks @haochey. can you sync your fork/branch with master so it runs benchmarking properly and then i can merge

haochey commented 1 month ago

It looks like my fork/branch has already synchronized with master. I am not sure why the benchmarking is not running properly.

sbryngelson commented 1 month ago

I see - I am re-running them.