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

How to construct an engine with a nozz.Throat:stat:area that can be changed? #73

Open
jackeylookie opened this issue Oct 30, 2024 · 4 comments

Comments

@jackeylookie
Copy link

I have referred to all examples of engines with CD nozz and found that the balance module can only use the nozz.Throat:stat:area as the target value, rather than a variable. How can I modify the program to make nozz.Throat:stat:area variable?

@arushkumarsingh
Copy link

Can you please be more specific?
We run the design analysis to fix the geometry of the engine. And then run the off design to match this geometry. So, we balance the mass flow for the target static area. However, in the case of the variable area nozzle, the area is slightly changed in off-design. This can be achieved by

  1. disabling the pyc_use_default_des_od_conns()
  2. Adding manual connections for off-design using pyc_connect_des_od(source, target), except the nozzle area
  3. Input the off-design nozzle area in the main program using prob.set_val()
    Still, here the mass flow is balanced to achieve a target area.

But if you want to vary the nozzle area you have to provide a reasonable mass flow as a input. And change the balance code to balance the area to achieve a target mass flow.

@jackeylookie
Copy link
Author

Can you please be more specific? We run the design analysis to fix the geometry of the engine. And then run the off design to match this geometry. So, we balance the mass flow for the target static area. However, in the case of the variable area nozzle, the area is slightly changed in off-design. This can be achieved by

  1. disabling the pyc_use_default_des_od_conns()
  2. Adding manual connections for off-design using pyc_connect_des_od(source, target), except the nozzle area
  3. Input the off-design nozzle area in the main program using prob.set_val()
    Still, here the mass flow is balanced to achieve a target area.

But if you want to vary the nozzle area you have to provide a reasonable mass flow as a input. And change the balance code to balance the area to achieve a target mass flow.

Hi
Sorry for the lack of detail in the question. As for the off-design balance module in "mixedflow_turbofan":
balance.add_balance('W', lower=1e-3, upper=200., units='lbm/s', eq_units='inch**2')
self.connect('balance.W', 'fc.W')
self.connect('mixed_nozz.Throat:stat:area', 'balance.lhs:W')
We define the throat area of the nozzle as A8. As you mentioned, here the mass flow is balanced to achieve a target A8. And all connections must be from an output to an input ("mixed_nozz.Throat:stat:area" is an output; "balance.lhs:W" is an input). How can I specifically change the balance code to balance the A8 to achieve a target mass flow?

@arushkumarsingh
Copy link

In the nozzle module, the throat area is defined as an output. So you have to add the reverse equations in the nozzle module, or somehow try to bypass the area calculation and take it as input directly. Can you please explain any scenario where we would like to solve it in this way. If it is a general use case, then we can develop this feature.

@jackeylookie
Copy link
Author

In the nozzle module, the throat area is defined as an output. So you have to add the reverse equations in the nozzle module, or somehow try to bypass the area calculation and take it as input directly. Can you please explain any scenario where we would like to solve it in this way. If it is a general use case, then we can develop this feature.

For modern mixed flow turbofan engines with variable nozzle throat area, the commonly used control plan is to change the throat area to match target values, such as low-pressure shaft speed (N1), engine overall pressure ratio, etc. My purpose is to change the throat area to match a target N1.

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