xcompact3d / x3d2

https://xcompact3d.github.io/x3d2
BSD 3-Clause "New" or "Revised" License
3 stars 4 forks source link

Introduce a namelist for basic parameters. #110

Closed semi-h closed 1 month ago

semi-h commented 2 months ago

I did some tests with varying domain sizes and dt, it was a pain to compile each time. This is not exhaustive list of parameters but at least will make simple tests easy.

Any other parameter suggestions other than these?

pbartholomew08 commented 2 months ago

do we want to specify [Px, Py, Pz] in the namelist?

semi-h commented 2 months ago

Added nproc_dir in the namelist so that we can specify the decomposition in the input file. In case the input file specification doesn't match with the number of ranks requested with mpirun, we set nproc_dir so that we have a 1D domain decomposition in Z direction. Probably need to change this when we add support for 2D decomposition in the FFTs, can even come up with a way to set the decomposition in an automated way to maximise performance.

semi-h commented 2 months ago

I plan to add a parameter for specifiying the time integrator as well. I'll also look into setting BCs from the input file.

Are we okay to have strings in the input namelist? For example, the way we specify the Poisson solver currently is;

&solver_params
...
poisson_solver_type = 'FFT' ! or 'CG', anything else stops the program with error
/End

For example, are we happy to set BCs like

BC_x_start = 'periodic' ! or 'neumann' or `dirichlet`

or do we want integers 0, 1, 2 like in Xcompact3D? Also, Xcompact3D namings for the BC are like nclx1, nclxn, shall we use start/end or stick with 1 or n as suffix? Or any other idea?

Nanoseb commented 1 month ago

Just a quick comment, is only having a single BC type per BC not limiting? Aren't there cases where we would want the velocity to be Dirichlet and pressure to be Neumann for the same boundary for example?

slaizet commented 1 month ago

To discuss (this afternoon) but we never impose BC on the pressure however we may want different BC for velocity/scalar