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

Great work! #12

Closed
KikeM opened this issue Sep 13, 2020 · 10 comments
Closed

Great work! #12

KikeM opened this issue Sep 13, 2020 · 10 comments

Comments

@KikeM
Copy link

KikeM commented Sep 13, 2020

Hi @andrewning,

I just read your paper.

Good job and thank you so much! I was having issues with convergence myself, and it didn't occur to me to go further and reformulate as a one dimensional equation problem. Great move.

I see you have implemented your solution in Julia, which is out of my scope for the moment. I need the code to run in Python, so I will keep you posted how my implementation of your paper goes.

Cheers,

Enrique

@andrewning
Copy link
Member

We have a python version. One is in this repo its main purpose was to connect to openmdao. There is also a regular python version from several years ago: https://github.com/WISDEM/CCBlade Doesn't have all the latest, but the new stuff might not be needed depending on what you are looking for.

@KikeM
Copy link
Author

KikeM commented Sep 14, 2020

I actually need to analyse a propeller, not a turbine. A basic analysis with Prandtl tip loss to get some performance curves.

You reckon it would be easy to change the adequate signs?

I have had a look at the Python library you referenced and it seems large.

@andrewning
Copy link
Member

Yes, it could work for propellers. Back then I hand coded the derivative propagation, which make it really long.

You could also call julia from Python. https://github.com/JuliaPy/pyjulia That would probably be the best route and give you the latest version from this repo.

@KikeM
Copy link
Author

KikeM commented Sep 14, 2020

Cool. I will have a look, it could definitively save me some work.

Where should I look in the code to change the equations to solve a propeller?

Thx!

@andrewning
Copy link
Member

The code in this repo doesn't requiring changing anything. If you want to use the old Python one then look at the paper. Shouldn't require any internal code change, but how you parse inputs/outputs. Note that the old one requires a fortran compiler also. Personally, I'd just recommend using this latest version.

@KikeM
Copy link
Author

KikeM commented Sep 14, 2020

I am happy to use the latest version, I will deal with the overhead of calling julia from Python.

Regarding the equations, I must be missing something.

If a turbine removes work from the fluid, and a propeller inputs work into it, I would expect there to be a sign change somewhere.

But you seem to indicate that change will take place in the inputs, which also makes sense. But specifically, which inputs would I have "swap around" in sign? (if any sign change is required on the first place).

@andrewning
Copy link
Member

There isn't any overhead (at least not really). Similar to using almost anything in numpy/scipy (which is generally calling C or fortran).

Yes there are sign changes. Take a look at the paper.

@KikeM
Copy link
Author

KikeM commented Sep 14, 2020

Oh, I meant the overhead to learn how to use the interface, install julia in a reproducible environment and then your package. For what I am going to do, I don't need calculation performance.

I'll have a look at the paper and get back to you if I can't figure it out.

@andrewning
Copy link
Member

Sounds good. If you are using the version in the repo then you don't need any sign changes and don't really need to look at the paper. This code was actually written from a propeller point of view, but either way there is a flag that allows you to change between turbine and propeller input/output conventions. Doesn't require the user to mess with signs. See this in the documentation.

@andrewning
Copy link
Member

I should add that a new version was pushed on Friday but it hasn’t been tagged yet so to get it you’d need to do:
] add CCBlade#master
Instead of just add CCBlade

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

No branches or pull requests

2 participants