Skip to content
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

Fluent_21_2_0 addition from preCICE Workshop 2022 #24

Merged
merged 13 commits into from
Apr 30, 2022

Conversation

mtree22
Copy link
Collaborator

@mtree22 mtree22 commented Feb 24, 2022

No description provided.

@mtree22
Copy link
Collaborator Author

mtree22 commented Feb 24, 2022

@BenjaminRodenberg @IshaanDesai

The branch had a few copies of the source files floating around in src/ and also in examples/Cavity2d/libudf/src, and I thought that could be potentially confusing. So, I removed most everything from the examples/Cavity2d directory and wrote a bash script that creates my environment (and has a lot of comments to explain the environment), copies the source code and make files, builds the objects and libudf.so, and then kicks off the Fluent run all automatically.

I hope that's okay. I thought it would be beneficial to only edit the files in src and not have to deal with a 2nd set of files in the example.

@IshaanDesai
Copy link
Member

Thanks Mike for opening this! I agree that its better to have the source code in only one place (src) rather than also in the example. In any case the intention was to give instructions to users about coping over the code in their Fluent case directory before starting.

Mike Tree added 10 commits March 29, 2022 13:39
Need to handle a small dt updating bug tomorrow
…dates to scheme and udf scripts; still need to work through fsi_grid_motion becuase the skip_grid_motion variable breaks communication to the host
…ve time stepping; getting an error where preCICE complains about being passed NaN or Inf forces
… to make sure everything is working corectly
@mtree22
Copy link
Collaborator Author

mtree22 commented Apr 21, 2022

I believe I have a working Fluent adaptor now. I can get it to work with the existing lid-driven cavity example in 2D. What should I do as next steps? Try to run another example case from the existing tutorials? Clean up these commits so there aren't so many? Generalize aspects of the adapter so things like mesh names and solver names aren't hard-coded?

Maybe we can discuss this at the next user support day on 29 April?

@IshaanDesai
Copy link
Member

I believe I have a working Fluent adapter now. I can get it to work with the existing lid-driven cavity example in 2D.

@mtree22 this is really great news! First off a big thank you to you for pushing this 😄 Now that you have a working state, there are many steps we can do together. Do the results of the lid-driven cavity look somehow reasonable? Before we start to modify the adapter further, I think this is a good stage to freeze a working state at, so that in the future we have this definitive working state which works with the Fluent version 21.2.0. To do this, I and @BenjaminRodenberg can review this pull request in its current state, and we can quickly merge this to the upstream branch fluent_21_2_0. I am marking myself as reviewer and will review this this week still.

In the meantime I would suggest that you branch out from this branch and continue working on further steps. This would help us break out the features into individual pull requests which would be easier to review and merge.

As next steps we can do the following things one after the other:

  1. First off we can take some basic steps to generalize the adapter so that we can add Fluent as a participant to the existing tutorial cases. So converting the hard-coded things like mesh names, solver names, data names to something configurable would be the immediate step. I will assist you here. I still do not have a Fluent license, but I should be able to help you here without having the run Fluent.
  2. If the lid-driven cavity works, it means that we basically have FSI working in 2D. So the next case that we can go for would be the perpendicular-flap. The fluid domain here is fairly easy to set up. If we get this case to run then we can compare the results of Fluent coupled to any of the existing structural solvers there, with OpenFOAM. This will give us the benchmark to validate the adapter.

What do you think of these next steps?

I would not worry too much about the commits in this pull request, we will just squash and merge in the end.

And yes, I will reserve a time slot for us in the upcoming user support sessions on 29th April, would 14:00-15:00 Europe time work for you?

@mtree22
Copy link
Collaborator Author

mtree22 commented Apr 21, 2022

@IshaanDesai

Yes, a 14:00 Central European Time start time should be 08:00 US Eastern Time, so that works for me.

I think your next steps are perfect, in fact I was just copying some files from the perpendicular-flap tutorial into the examples directory here to get started.

The Fluent solution results of the lid driven cavity look great. My first attempts were returning some very large deformations from the CSMdummy. So, I ended up editing that file pretty significantly. It now returns VERY small deformations, but they are all in the correct direction and seem to make sense. I look forward to being able to compare with other perpendicular flap results to be able to get a clearer picture of how well things are working.

@IshaanDesai IshaanDesai removed the request for review from BenjaminRodenberg April 22, 2022 10:52
Copy link
Member

@IshaanDesai IshaanDesai left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I read through the changes and first off I think the most valuable contribution here is the extensive documentation written by @mtree22. This documentation is the key to ensure that the adapter is usable and maintained in the future. Right now I do not have access to a Fluent license and hence it is hard for me to test this adapter, but @mtree22 has confirmed that the dummy coupling to CSMdummy.py which simulates a dummy 2D lid-driven cavity with a flexible bottom.

My inclination is to merge this to the upstream branch fluent_21_2_0 and then polish things there before merging to develop. Hopefully I can get a Fluent license soon and test things on my own. @uekerman @BenjaminRodenberg opinions?

Meanwhile running the perpendicular-flap tutorial case with Fluent as a fluid participant would cement the working capability of this adapter, and we can then release a version.

@uekerman
Copy link
Member

uekerman commented Apr 24, 2022

My inclination is to merge this to the upstream branch fluent_21_2_0 and then polish things there before merging to develop. Hopefully I can get a Fluent license soon and test things on my own. @uekerman @BenjaminRodenberg opinions?

Sounds good to me 👍

@mtree22 great news 🚀

Btw, we could also add the "lid driven cavity with flexible bottom" to our tutorials. It's a case that would anyway be nice to have. We could easily add more participants for comparison there as well. OpenFOAM should be very quick to add.

@IshaanDesai
Copy link
Member

Btw, we could also add the "lid driven cavity with flexible bottom" to our tutorials. It's a case that would anyway be nice to have. We could easily add more participants for comparison there as well. OpenFOAM should be very quick to add.

I'll open a good-first-issue about this in the tutorials repo and note down there that we already have something for Fluent in that direction.

Copy link
Member

@IshaanDesai IshaanDesai left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After a discussion it is decided that we will merge this PR into the upstream repository and then polish it there before finally releasing the adapter.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants