Exawind / amr-wind

AMReX-based structured wind solver
https://exawind.github.io/amr-wind
Other
106 stars 83 forks source link

2D Pitching Fixed Wing #983

Closed ET14 closed 2 months ago

ET14 commented 7 months ago

Add capabilities to read a pitch angle time series from user provided text file for the fixed wing actuator case. The implementation is intended to work also for "2D" cases and still misses the implementation of a 2D Gaussian.

mbkuhn commented 7 months ago

@ET14 great job getting this set up! I've added a few commits for the sake of passing the CI tests and correcting a print statement. If there are more changes you plan to make, please perform "git pull" before making the changes. I can also add the 2D Gaussian -- we need that for other uses as well.

tonyinme commented 7 months ago

@ET14 great job getting this set up! I've added a few commits for the sake of passing the CI tests and correcting a print statement. If there are more changes you plan to make, please perform "git pull" before making the changes. I can also add the 2D Gaussian -- we need that for other uses as well.

@mbkuhn what do you think is the best way to implement the 2D Gaussian? We would need some information to orient the Gaussian in the right direction.

github-actions[bot] commented 5 months ago

This PR is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 7 days.

ET14 commented 4 months ago

@tonyinme do we want to generalize the options to

mbkuhn commented 4 months ago

@ET14 @tonyinme I will try to get this polished up for merging soon. I'll be making direct edits to the branch, but feel free to make comments on my work.

mbkuhn commented 4 months ago

@tonyinme do we want to generalize the options to

* disable certain force components

* calculate the actuator force with the freestream velocity magnitude

* use the 2D Gaussian in "3D simulations" where another axis than the y-direction is the spanwise direction?
  In its current form the implementation works for our specific problem, but is definitely not ready to be merged.

I generalized the first two, and I mostly generalized the third one. The 2D implementation assumes that the dimension not being used is the spanwise dimension, but it does not have to be y.

mbkuhn commented 4 months ago

@ET14 I believe I have generalized the capabilities from your work. I put a new reg test in test/test_files/act_pitching_wing_2D that should serve as an example for the input arguments. Please try out that case and see if it does what you need it to. It would be great if you could add a pitch_timetable file to that test case, too. I will probably add a unit test or two before merging, but I think it's ready otherwise. By the way, the "get_either" and "query_either" changes are for something Tony requested -- they weren't needed to get this to work.

ET14 commented 4 months ago

@mbkuhn Thank you for restructuring this, looks great! I will test all the flags again and also add a pitch input table.

ET14 commented 3 months ago

@mbkuhn I re-ran some of my previous pitching wing test cases with the code version which you restructured two weeks ago and I obtain the same results. So the 2D Gaussian seems to work fine and also disabling the vertical forcing produced the results I expected. I added a pitch input time series to the test case and adjusted the wing span in this example to match the domain width in the periodic direction. From my side this pull request has all the capabilities it needs. Feel free to merge it when you think it is ready. Thank you again for all your help!

mbkuhn commented 3 months ago

reg tests passed. last thing is unit tests

mbkuhn commented 2 months ago

requested changes addressed