Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Turbulent inflow generation technique (#1657)
* Box perturbation setup start * perturbation box implementation start * added geometry into CalcTurbPert() * Using index of box to created boxes * Index Perturbation box initialization working * added Perturbation box initialization in init_stuff(), next create class for PerturbationRegion * created 3 functions init_PerturbationRegion(), calc_TurbPert_amplitude(), and calc_TurbPert_updateTime. Now PB boxes initialize at t=0s * cleaned up some portions of the code. Now start implemented t>0s PB * start of struct TurbPert implementation * created TurbPert structure and compiles/runs fines. Now t>=0 uses same function to create turbulent perturbations. * name change to TurbulentPerturbation structure * made small modifications to perturbation funcion call. Start playing with momentum perturbation. * Averaging paraview out put through impermeability enforcement. Added in random number generator in Perturbation amplitude. * Cleaned up some code, and added comments for tomorrow start. Tomorrow: Implement update-time and amplitude * distribution mapping debug w/ Aaron * debugging mf global access * mf now is seen outside of struct * moving on PB implementation to using vectors for per box unique value. * Replaced all perturbation boxes from boxArray and vector to MultiFab. Current version works with np=1, but not np>1. * fixed parallelization problem. Succesfully accessed velocity at initialization. Moving on to calculate update time/think about how to calculate perturbation amplitude on the fly. * Created elapsed time array for mf in tpi. Start writing perturbation amplitude calculations. * mirgrated over to ssh github check * PB u_mean calc per bx using box union (volume averaged). PB items uses vectors. PB frequency triggeres amplitude calculation. PB apply_tpi applied random number perturbation. * Added in Ma&senocak2023 PB amp formulation. Made PB velocity average thread safe. Created some initial constant values for PB. * debugging ubx output (start) * Bug fixed: object.makeSlab() will modify the object, while makeSlab(object,...) will make a copy then edit copy. * Generalized slab average formulation. Can begin some kind of small test to perturb flow. General setup complete * (June 18) TurbulentPerturbation struct now own all computation for PB. Slab average implemented. Start runtime tests. * deleted trailing white space to pass github check * Modified some names, made sure CMake compile. * Changes in attemping to pass workout test * TurbPertStruct.H doesn't like ParallelFor within it? * TurbPertStruct.H ParallelFor loops now using pass-by-value so GPU does not access illegal memory * Update TurbPertStruct.H cuda pass-by- workout test * quick fix for CUDA error * attemping to fix oneAPI SYCL workflow error * Inflow perturbation 1st PR. Cleared all github workflow error * flipped order of solverChoice.pert_type to avoid level error. ready for 1st PR --------- Co-authored-by: Ting-Hsuan (Dustin) Ma <tma@megalon.dhcp.lbl.gov> Co-authored-by: Aaron M. Lattanzi <103702284+AMLattanzi@users.noreply.github.com>
- Loading branch information