Skip to content

chore: init recirculation pressure control#1364

Merged
jsolaas merged 1 commit intomainfrom
chore/init-recirc
Feb 10, 2026
Merged

chore: init recirculation pressure control#1364
jsolaas merged 1 commit intomainfrom
chore/init-recirc

Conversation

@jsolaas
Copy link
Copy Markdown
Contributor

@jsolaas jsolaas commented Feb 3, 2026

No description provided.

@jsolaas jsolaas force-pushed the chore/init-recirc branch 5 times, most recently from 5386f34 to bc542a8 Compare February 9, 2026 11:35
@jsolaas jsolaas marked this pull request as ready for review February 9, 2026 11:41
@jsolaas jsolaas requested a review from a team as a code owner February 9, 2026 11:41
boundary=Boundary(min=minimum_rate, max=maximum_rate),
func=lambda x: get_outlet_stream(recirculation_rate=x).pressure_bara - target_pressure,
)
return get_outlet_stream(recirculation_rate=recirculation_rate)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

So, possibly let the solver return a "solution" instead (or NO_SOLUTION if none, but I guess in that case we want to throw an exception? Might be that we ahve several strategies that we try, and we dont know that the search for a solution is exhaustive, until we reach this point?)

RecirculationSolverSolution(SUCCESS, RecirculationLoopConfiguration(recirculation_rate=nn)) ?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

in that case, it is important that we work on immutable objects, or immutable methods, where we just "test a solution"; which is different from the actual process, that does manipulate the actual stream?

boundary=Boundary(min=minimum_rate, max=maximum_rate),
func=lambda x: get_outlet_stream(recirculation_rate=x).pressure_bara - target_pressure,
)
return get_outlet_stream(recirculation_rate=recirculation_rate)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

in that case, it is important that we work on immutable objects, or immutable methods, where we just "test a solution"; which is different from the actual process, that does manipulate the actual stream?

def __init__(self, boundary: Boundary, target_pressure: float, shaft: Shaft):
def __init__(
self,
search_strategy: SearchStrategy,
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

nice separation. Could they be "combined"? Does user need to know nitty gritty details?

@jsolaas jsolaas merged commit e0291a0 into main Feb 10, 2026
22 checks passed
@jsolaas jsolaas deleted the chore/init-recirc branch February 10, 2026 07:37
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.

2 participants