Thank you for the video! For anyone who would like to simulate a non-constant (time-varying) rotation rate: instead of giving a constant numeric number, simply insert a time-function into rotation rate under tools>motions>rotation such as sin($Time). Make sure to use unsteady physics such that $Time is a field function. Also note that the default variable for angles is in radians. (You can also make it a function of time step, or iteration if desired) This helped me simulate an oscillating airfoil
@@austinschenk1445 You are very welcome Austin :> Actually - I'm curious now to try myself: recently introduced AMR (Automatic Mesh Refinement) should improve the simulation time a lot; might even slightly increase precision - since refinement will occur only where it is required and mesh might be refined even better (compared to volumetric control) without severe cells count growth.
@@sergeianpilov5222 yeah that is a great idea, I would be interested if you were able to get it to work well! Earlier on in my research I actually explored AMR and while I was met with some success, I found getting a good refinement criterion/equation to be challenging. My refinement was based loosely on the velocity gradient and cell size and had okay results. Figures 2.14 and 2.15 in my thesis actually show what it resulted in if you wanted to see that. And then there was the additional challenge of the propeller rotating, but that was easily fixed by using a time-averaged field function.
Thanks for sharing this video, I have problem the during the importing the geometry, maybe there is a problem. Can you check the link is still working or not?
The video was really informative. If possible, please make a short video on how to make an animation of a rotating propeller from output time steps. That would be really helpful.
Great results!! I'm simulating ship motion in shallow water but I'dont know how to create an animation :(.... If you could tell me how to start one would be amazing!
Thanks I appreciate it. So I’ll try to give a more in depth response when I get more time, but the general approach is: 1. Create the scene that you want to make an animation of. I generally like doing a Scalar Scene of the Vorticity using a Resampled Volume (under derives parts) 2. Now I’m the Scene tab for the scene you just created you can go down and there is an option you can expand out called Update. In there you can tell the simulation to output a hard copy of the scene every XX steps, or XX iterations etc. and where you want them saved. 3. Now when you run the simulation you will get a file with jpegs at every XX steps and you can take those files and compile them into a gif. - to compile them I used terminal/command line on a linux system. You can do similar things on a Mac. Ex: convert -delay 120 *.jpg filename.gif
Great video and great help!!! I just did as same as your video, but the thrust and torque is different with yours. If possible, can i get your sim file...? and there isn't information fluid conditions like Temperature, Pressure, viscousity.. etc. I need help please..
Hi, you perform Boolean subtract two times , so how the mesh is generated in rotate ( Boolean subtract where you selected domain and rotate and target is domain) , plz answer anyone
Isn´t supposed that speed of flight "V" is an output parameter? And rpm, diameter air condition are input parameter? How did you came up with v=15.24 m/s ?From experimental data? Or these depicts an experiment in which the propeller is mounted fixed and an induced air flowstream from wind tunnel is going straight ahead? thanks
Very good and informative tutorial. I had a few queries please.. 1. Is there no requirement of identifying a time step that satisfies the CFL stability criterion rather than fixing the time step only based on number of steps desired per revolution? 2. Can we use a field function approach for implicit unsteady simulations to undertake the simulations over a range of advance coefficients in a single run rather than running at each advance coefficient desired in different runs? 3. Is there no requirement of specifying prism layers in the propeller boundary layer based on the target y+ parameters? Thanks in advance :)
Hi, Very nice tutorial indeed. Just a question, when I follow your steps, it will give a final result after 3600 iterations, but it looks like steady simulation. How can I extract the timestep results and create animation for each 3 degree variation? thank you!
Thanks for the tutorial, will attempt to do this. A few questions, my rig has 8c/16t and 16GB DDR4 quad channel, so can I run the simulations with the numbers you used in the video and not the alternative in yellow box? Also how would I setup a scene to view the last post-processing image? (the same one in your ppt presentation and RUclips thumbnail)?
Its more about the RAM and mesh- usually you should count every 1 milion elements in mesh as 1Gb GB of ram. So if this mesh has 6milions elements you should do simulation with no problem at all. More steps means simulation will be more accurate but it will take more time so it depends on how much time you want to spare on calculations
E.V.K. I like what Krzysztof said. I did mesh it on a workstation desktop but I used like 28 cores and had like 120 GB of RAM available just makes it faster (up to a point). As for running this simulation, I ran it on a supercomputer with I believe ~200 cores, ~600 GB of memory (RAM) for several hours to get the wake and time resolution I needed.... so on any desktop, even a nice one like it sound you have, I’d recommend the yellow box numbers. And then increase it from there as you see fit. Good luck and thanks!!
Also as to the scene my response to bill details that, but you just wouldn’t need to save it at every step. It is basically just a Resampled Volume (create by right clicking on Derived Parts) in a Scalar Scene then I just played around with the values and colors til I liked it.... from experience I know it can sometimes be tricky getting everything to show up right with those images but if you look through the Documentation on Resampled Volumes it specifies everything there. Hope that helps some!
Thanks Vikram, it is based on the desired RPMs. So that is Revolutions/minute convert to seconds/revolutions and then divide that by how many steps you want per revolution (for mine 120steps/rev) and you get how many seconds per step (sec/step) and that is what you put into the implicit unsteady time step.
This is incredibly helpful, thanks! Quick question, how did you choose the base sizes for your mesh? The prop I'm looking at has a 12 inch diameter, so I'm trying to adjust for that. Thanks again!
Great question! It was mainly based of a grid convergence study with a Richardson Extrapolation.... section 3.2.1 in my thesis (free link in comments) explains this. But basically I decreased the base size until I got with in the percentage of the extrapolated ‘Final’ value that I needed.
@@austinschenk1445 okay interesting, I'll look into that! Thanks again. I imagine it would be okay to reference & cite your work/cad models in my thesis? My research focuses more on whole quadcopters, but since I am using APC props as well your tutorial & cad has definitely helped me a lot!
Yeah I would love for my Thesis to be cited if this has been of use in your research. Sounds like a cool project! Eduardo Alvarez in our BYU Flow Lab has been looking at full vehicles using a VPM method instead of CFD if that is of any additional interest (flow.buy.edu).
@@austinschenk1445 Perfect. And that sounds really interesting. I don't really have experience with VPM, but it'd be interesting to see what others are doing on this topic. Appreciate the suggestions man!
Hello ! Thank you for this excellent tutorial it is really inspiring !! I'm now having some trouble with the Wall Y+ control for k-omega turbulence model for a different propeller simulation, the Y+ values on the surface of the propeller should be smaller than 5 or higher than 30 when we have a high Reynolds case ? (The information that I get from the Internet is very different from what my teacher taught us :( So I get lost)
MJL thanks for the feedback, I appreciate it! So the Y+ value would generally be based on the Wall Treatment or Boundary Layer model that you are using with your turbulence model in your simulation. In this tutorial's case, when I select K-omega turbulence model, StarCCM automatically selects the "All Y+ Wall Treatment" model. And simply put, for this model the documentation recommends it be used "For 1< Wall Y+
Hi Austin, great video! It has been really helpful for my work. I'm currently simulating a wind turbine model of the NREL Phase VI turbine and I am trying to compare pressure coefficient distribution data at different span-wise locations from the simulation to the experimental data. When I plot the pressure distribution data in Star CCM+ the X-axis uses a vector direction of [0 1 0] which is not representative of a rotating twisted blade. Did you encounter this problem with your thesis? If so, would you know how to change the x axis of the x-y plot so that it is parallel with blade chord and zero on the x-axis would align with the leading edge of the blade at a given span-wise location? Thanks in advance!
In the plot settings, you can change the x-axis orientation based on the direction of your interest. From the rotor cone and section twist angle, you can compute the orientation of a vector parallel to the blade section chord and pointing towards the leading or trailing edge. The NREL Phase VI report contains some equations used to compute the rotor thrust and torque coefficients from the pressure hole data. You can use them to get the orientations you need for your plots.
I initially used only the polyhedral mesher. This did really good around the propeller geometry but struggled when I added the volumetric refinement... particularly on some of my more complex multi-propeller configurations. I found that the Trimmed mesh did better with the fluid domain away from the propeller and particularly with the volume refinement. This is definitely not a perfect mesh.... but sufficient for what I needed and a great starting place for future improvement. Thanks for the interest!
I never did anything with fluid-solid interactions internally within StarCCM, but I do believe you can do it... searching the documentation would be your best bet!
Size shouldn't matter. If your main interest was loads (and your operating point involves constant inflow), than RANS/URANS like that shown here should work well. But if you need turbulent inflow, or have significant separation on any part of the blade (as occurs on some parts of the power curve), etc, then LES may be the way to go.
@@BYUFLOWLab Yes, I have manged to model the wind turbine using a MRF due to its simplicity and time constraint present in the project it has helped portray the loads and aerodynamic behavior surrounding the WT. Appreciate your comments.
Thank you for the video!
For anyone who would like to simulate a non-constant (time-varying) rotation rate: instead of giving a constant numeric number, simply insert a time-function into rotation rate under tools>motions>rotation such as sin($Time). Make sure to use unsteady physics such that $Time is a field function. Also note that the default variable for angles is in radians. (You can also make it a function of time step, or iteration if desired)
This helped me simulate an oscillating airfoil
yo im trying to do something similar for my 3rd year project, if u could spare the time to help me or give some hints id be super grateful 🙏
Good tutorial bro and it’s stunning that ccm+ runs on Mac 😮
its running on a linux VM on a mac
Wonderful tutorial! Thank you so much!
Thanks Sergey, I appreciate the feedback!
@@austinschenk1445 You are very welcome Austin :>
Actually - I'm curious now to try myself: recently introduced AMR (Automatic Mesh Refinement) should improve the simulation time a lot; might even slightly increase precision - since refinement will occur only where it is required and mesh might be refined even better (compared to volumetric control) without severe cells count growth.
@@sergeianpilov5222 yeah that is a great idea, I would be interested if you were able to get it to work well!
Earlier on in my research I actually explored AMR and while I was met with some success, I found getting a good refinement criterion/equation to be challenging. My refinement was based loosely on the velocity gradient and cell size and had okay results. Figures 2.14 and 2.15 in my thesis actually show what it resulted in if you wanted to see that. And then there was the additional challenge of the propeller rotating, but that was easily fixed by using a time-averaged field function.
Thanks for sharing this video, I have problem the during the importing the geometry, maybe there is a problem. Can you check the link is still working or not?
I get "There is no volume mesh to solve on or no physics continuum assigned to regions" How is this possible?? Urgently need help. Thx
The video was really informative.
If possible, please make a short video on how to make an animation of a rotating propeller from output time steps. That would be really helpful.
Great results!! I'm simulating ship motion in shallow water but I'dont know how to create an animation :(.... If you could tell me how to start one would be amazing!
Thanks I appreciate it.
So I’ll try to give a more in depth response when I get more time, but the general approach is:
1. Create the scene that you want to make an animation of. I generally like doing a Scalar Scene of the Vorticity using a Resampled Volume (under derives parts)
2. Now I’m the Scene tab for the scene you just created you can go down and there is an option you can expand out called Update. In there you can tell the simulation to output a hard copy of the scene every XX steps, or XX iterations etc. and where you want them saved.
3. Now when you run the simulation you will get a file with jpegs at every XX steps and you can take those files and compile them into a gif.
- to compile them I used terminal/command line on a linux system. You can do similar things on a Mac.
Ex: convert -delay 120 *.jpg filename.gif
Thanks@@austinschenk1445 ! starting now!
I am confused because the Rot region has 2 million more cells than the video, despite having the same parameters.
Hello, thanks for the video. I have a question. How do I create an animation? to get a video file
Great video and great help!!! I just did as same as your video, but the thrust and torque is different with yours. If possible, can i get your sim file...? and there isn't information fluid conditions like Temperature, Pressure, viscousity.. etc. I need help please..
thank you 但是电脑太卡了
Hi, you perform Boolean subtract two times , so how the mesh is generated in rotate ( Boolean subtract where you selected domain and rotate and target is domain) , plz answer anyone
Isn´t supposed that speed of flight "V" is an output parameter? And rpm, diameter air condition are input parameter? How did you came up with v=15.24 m/s ?From experimental data? Or these depicts an experiment in which the propeller is mounted fixed and an induced air flowstream from wind tunnel is going straight ahead? thanks
Very good and informative tutorial. I had a few queries please..
1. Is there no requirement of identifying a time step that satisfies the CFL stability criterion rather than fixing the time step only based on number of steps desired per revolution?
2. Can we use a field function approach for implicit unsteady simulations to undertake the simulations over a range of advance coefficients in a single run rather than running at each advance coefficient desired in different runs?
3. Is there no requirement of specifying prism layers in the propeller boundary layer based on the target y+ parameters?
Thanks in advance :)
Hi, Very nice tutorial indeed.
Just a question, when I follow your steps, it will give a final result after 3600 iterations, but it looks like steady simulation. How can I extract the timestep results and create animation for each 3 degree variation?
thank you!
Bro how to create that animation
See my reply to Bill
Thanks a lot, Both this video and the paper helped me a lot.
Greetings from Belgium :)
Thanks Pieter, I’m glad it was helpful! Appreciate the feedback 🙏!!
Im trieing to simulate an RC Impeller with 50k rpm max, would it even make sense to try this kind of approche?
Thanks for the tutorial, will attempt to do this. A few questions, my rig has 8c/16t and 16GB DDR4 quad channel, so can I run the simulations with the numbers you used in the video and not the alternative in yellow box? Also how would I setup a scene to view the last post-processing image? (the same one in your ppt presentation and RUclips thumbnail)?
Its more about the RAM and mesh- usually you should count every 1 milion elements in mesh as 1Gb GB of ram. So if this mesh has 6milions elements you should do simulation with no problem at all. More steps means simulation will be more accurate but it will take more time so it depends on how much time you want to spare on calculations
E.V.K. I like what Krzysztof said. I did mesh it on a workstation desktop but I used like 28 cores and had like 120 GB of RAM available just makes it faster (up to a point). As for running this simulation, I ran it on a supercomputer with I believe ~200 cores, ~600 GB of memory (RAM) for several hours to get the wake and time resolution I needed.... so on any desktop, even a nice one like it sound you have, I’d recommend the yellow box numbers. And then increase it from there as you see fit.
Good luck and thanks!!
Also as to the scene my response to bill details that, but you just wouldn’t need to save it at every step. It is basically just a Resampled Volume (create by right clicking on Derived Parts) in a Scalar Scene then I just played around with the values and colors til I liked it.... from experience I know it can sometimes be tricky getting everything to show up right with those images but if you look through the Documentation on Resampled Volumes it specifies everything there. Hope that helps some!
Hello, is ther any way to obtain the efficiency of the propeller or the power consumption ?
Hi IZ, yes I define it in equation 2.18 in my thesis (linked in description). Thanks!
Where T is thrust and Q is torque
@@austinschenk1445 brilliant! Thank you
Very good tutorial. How did you calculate the time step involved in solver > implicit unsteady?
Thanks Vikram, it is based on the desired RPMs.
So that is Revolutions/minute convert to seconds/revolutions and then divide that by how many steps you want per revolution (for mine 120steps/rev) and you get how many seconds per step (sec/step) and that is what you put into the implicit unsteady time step.
@@austinschenk1445 thank you.
Why my high-speed wakes only emerges in the "rotation" region?
Really looks so fantastic and I am going to follow this same tutorial for ram air turbine
Awesome Gopalakrishnan, I’m glad you’ll be able to use it!
when you did initialization, what was the slave area and master area percentage in the output windows
Where can I learn the post-processing example shown at the end of the video?Thank you!
Hi, did you find something about it?)
Hey ! Thank you for the video ! Could you upload the .sim file of your project?
This tutorial can use with contra rotating propellers
This is incredibly helpful, thanks! Quick question, how did you choose the base sizes for your mesh? The prop I'm looking at has a 12 inch diameter, so I'm trying to adjust for that. Thanks again!
Great question! It was mainly based of a grid convergence study with a Richardson Extrapolation.... section 3.2.1 in my thesis (free link in comments) explains this. But basically I decreased the base size until I got with in the percentage of the extrapolated ‘Final’ value that I needed.
And thanks for the feedback Will, I really appreciate it! Glad its helpful
@@austinschenk1445 okay interesting, I'll look into that! Thanks again. I imagine it would be okay to reference & cite your work/cad models in my thesis? My research focuses more on whole quadcopters, but since I am using APC props as well your tutorial & cad has definitely helped me a lot!
Yeah I would love for my Thesis to be cited if this has been of use in your research. Sounds like a cool project! Eduardo Alvarez in our BYU Flow Lab has been looking at full vehicles using a VPM method instead of CFD if that is of any additional interest (flow.buy.edu).
@@austinschenk1445 Perfect. And that sounds really interesting. I don't really have experience with VPM, but it'd be interesting to see what others are doing on this topic. Appreciate the suggestions man!
Hello ! Thank you for this excellent tutorial it is really inspiring !! I'm now having some trouble with the Wall Y+ control for k-omega turbulence model for a different propeller simulation, the Y+ values on the surface of the propeller should be smaller than 5 or higher than 30 when we have a high Reynolds case ? (The information that I get from the Internet is very different from what my teacher taught us :( So I get lost)
MJL thanks for the feedback, I appreciate it!
So the Y+ value would generally be based on the Wall Treatment or Boundary Layer model that you are using with your turbulence model in your simulation. In this tutorial's case, when I select K-omega turbulence model, StarCCM automatically selects the "All Y+ Wall Treatment" model. And simply put, for this model the documentation recommends it be used "For 1< Wall Y+
Amazing man.
awesome video! thank you so much!!!
Hi Austin, great video! It has been really helpful for my work.
I'm currently simulating a wind turbine model of the NREL Phase VI turbine and I am trying to compare pressure coefficient distribution data at different span-wise locations from the simulation to the experimental data.
When I plot the pressure distribution data in Star CCM+ the X-axis uses a vector direction of [0 1 0] which is not representative of a rotating twisted blade. Did you encounter this problem with your thesis? If so, would you know how to change the x axis of the x-y plot so that it is parallel with blade chord and zero on the x-axis would align with the leading edge of the blade at a given span-wise location?
Thanks in advance!
In the plot settings, you can change the x-axis orientation based on the direction of your interest. From the rotor cone and section twist angle, you can compute the orientation of a vector parallel to the blade section chord and pointing towards the leading or trailing edge. The NREL Phase VI report contains some equations used to compute the rotor thrust and torque coefficients from the pressure hole data. You can use them to get the orientations you need for your plots.
why you use 2 different kind of mesh ( polyhedral & trimmed)?
I initially used only the polyhedral mesher. This did really good around the propeller geometry but struggled when I added the volumetric refinement... particularly on some of my more complex multi-propeller configurations. I found that the Trimmed mesh did better with the fluid domain away from the propeller and particularly with the volume refinement. This is definitely not a perfect mesh.... but sufficient for what I needed and a great starting place for future improvement. Thanks for the interest!
Is there a way to find the deflection/buckling of the prop itself in post processing?
I never did anything with fluid-solid interactions internally within StarCCM, but I do believe you can do it... searching the documentation would be your best bet!
Help please! How you run star ccm+ on mac os?
You cannot run it from Mac OS. You can run a virtual machine with Linux then run it from there.
Could this be used for a wind turbine?
Size shouldn't matter. If your main interest was loads (and your operating point involves constant inflow), than RANS/URANS like that shown here should work well. But if you need turbulent inflow, or have significant separation on any part of the blade (as occurs on some parts of the power curve), etc, then LES may be the way to go.
@@BYUFLOWLab Yes, I have manged to model the wind turbine using a MRF due to its simplicity and time constraint present in the project it has helped portray the loads and aerodynamic behavior surrounding the WT. Appreciate your comments.
Can you use star-ccm+ in mac platform?
Not directly, but you can run a virtual machine with linux on it.
Sounds like a babe