-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fluctuation KE objective for cavity & step flows #51
Comments
I also like 3 since it seems like a quick way to get an approximate idea of the where the fluctuation KE is at without a lot of overhead. So long as the trends of the "fluctuating measurement" are reliable (in that they correspond strongly with changes in fluctuation KE), I'd imagine it would be fine since we're only using that quantity as a reward to the agent. For the sake of justification though, would it be necessary to show how the "fluctuating measurement" corresponds with fluctuating KE and quantify that somehow? Is that possible? Or is it generally a given that these two correlate strongly? (Sorry if these questions seem obvious, this is a bit of a new territory to me) |
Hi @jcallaham , I tried to integrate the Cavity with the coarse mesh, it looks good at the beginning but then I get a divergence error at around t = 2.0 . Regarding the medium mesh, I directly obtain something like numerical explosion? What could we do to solve this ? I'd like to implement RL on the coarse mesh, a bit like you suggest in the introductory Jupyter Notebook for the Cylinder flow. Thank you for your consideration, |
Hi @ReHoss - are you running with a controller or just the natural flow? I can't remember for sure, but I thought I had tested it without control and it worked okay, but that was a while ago. If you can share exactly what your parameters and setup is, I can try to reproduce it and see if I can help. I haven't tried RL on the cavity yet (and the objective function does still need a bit of work). This whole project is pre-release and is still pretty actively under development, so feel free to try stuff out but just be warned that everything may not work out of the box. We're hoping to have a first release in the next couple of months, and doing things like making sure all the flow configs run on all the meshes will definitely be a part of that. By the way, thanks for the feedback on the installation process (#64) - I'll have to take a closer look at that and get back to you. |
Hi @jcallaham , By running the following script with
At t = 3.09 I get the following error:
Here is the list of packages installed on my environment:
By the way, what are the technical difficulties to implement the feedback reward from your 3rd suggestion ? Thank you for your consideration:)! |
Got it, okay I have a guess at what's happening. You're starting from a zero initial condition, and I'm guessing if you look at the visualization around the time it fails you'll see that's when the first vortex on the trailing edge hits the outlet. We're currently just using zero-pressure Dirichlet boundary conditions on the outlet, which probably isn't ideal but seems to work well enough for the time being. But it can be a bit touchy with the initial transient. What I usually do for initializing the transient flow is to start from the steady-state base flow and then perturb it so that the solution doesn't do anything too different from the natural post-transient behavior. You can do this in a principled way (like with the least-stable eigenvectors), but this takes a bit of work. I plan to add an example of that soon, but it's not ready quite yet. An easier alternative is to just add random noise, and then of course there will be some component in the eigenvector direction - this example is working for me on the coarse mesh. If you're still having trouble, go ahead and open a new issue so I can close this out when the cavity objective is fixed, since I think this is a separate thing. Also just a word of warning - this coarse solution is definitely not converged with respect to mesh size, so don't put too much trust in anything except the default meshes. |
Thanks a lot @jcallaham In fact I am interested on the time delay property of the Cavity flow and this coarse mesh should be okay for the beginning even if it does not represent all the features of this flow. I have basic knowledge in CFD and I'll have probably a lot of question about the implementation of the flows and such kinds of issues etc (e.g. actuators and sensors settings; reward signal). the channel recommended to discuss about it are Github issues then ? Best, |
Good question... maybe let's move that kind of thing to the Discussions section? Then issues can track active development, bugs, etc. But also, keep in mind we're still very much in "beta" right now, so no guarantees on anything yet! |
On the objective function for cavity and step flows, I think I'm settling on modifying the flows slightly to additionally store a base flow Working on branch |
@ludgerpaehler @SamAhnert these flows are almost good to go but I'm a little stuck trying to figure out the best way to evaluate the objective function for the step and cavity. What you're really trying to minimize (at least in the literature on these flows) is the fluctuation KE, but to calculate that you need a base state to subtract off. I can think of three ways to approach this:
I don't really like any of these to be honest, especially because the base flow will be both mesh- and Reynolds-dependent.
But I'm leaning towards option 3. Any thoughts?
For reference, here's the paper I'm looking at for the cavity: https://hal.archives-ouvertes.fr/hal-01021129
The text was updated successfully, but these errors were encountered: