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

Create THM components that wrap Navier-Stokes multi-D flow discretizations #23794

Open
4 tasks
lindsayad opened this issue Mar 20, 2023 · 11 comments
Open
4 tasks
Assignees
Labels
C: Modules/Thermal Hydraulics Tickets pertaining to the thermal_hydraulics module P: normal A defect affecting operation with a low possibility of significantly affects. T: task An enhancement to the software.

Comments

@lindsayad
Copy link
Member

Reason

We'd like users to be able to rapidly try different discretizations to determine what works best for a given geometry, flow conditions, etc.

Design

Create THM components for

  1. INSFV
  2. INSFE
  3. PINSFV
  4. PINSFE

1 and 3, and 2 and 4 may be able to be grouped together if we add a porous option

Impact

Rapid diagnosis of what kinds of discretizations work

@lindsayad lindsayad added the T: task An enhancement to the software. label Mar 20, 2023
@lindsayad lindsayad added C: Modules/Thermal Hydraulics Tickets pertaining to the thermal_hydraulics module P: normal A defect affecting operation with a low possibility of significantly affects. labels Mar 20, 2023
@lindsayad
Copy link
Member Author

@snschune @GiudGiud @rui-hu @lingzou feel free to weigh in here with desired requirements for this Component wrapping

@joshuahansel
Copy link
Contributor

So what are these components trying to achieve that the existing NS actions cannot? Are you planning on setting up any systems with multiple mesh pieces?

@lindsayad
Copy link
Member Author

So what are these components trying to achieve that the existing NS actions cannot?

Yea ... I think since we met in Chicago I've kind lost whatever that distinction was ... I was wondering this same question as I was opening this issue.

@joshuahansel
Copy link
Contributor

I think the important question is whether you want to assemble simulations with multiple pieces (in a fully coupled way). Otherwise, probably just stick with actions.

@lindsayad
Copy link
Member Author

Let's assume that we do 😄 I really think we do want to be able to at least try these kinds of fully coupled simulations with this theoretical new multi-D component as well as the components you already have

@joshuahansel
Copy link
Contributor

I'll wait to start on this until we've had a team discussion - I just want to avoid the fate of #22354.

For the record, I like the idea of wrapping more things into components. To help the discussion, maybe we need some examples of existing input files that might have multiple components involved, or at least some theoretical examples. Then there are numerical questions about comparing the approaches of full coupling vs. tight coupling.

@joshuahansel
Copy link
Contributor

Speaking of motivation for fully coupling 1D to multi-D, @Naktakala was asking today about this for NASA's NTP project. He has a bunch of assembly channels merging together, and was running into AD container size issues. I think this is a great example of why we need to have the full coupling ability. Having multi-D NS components, we could have a multi-D junction and then a coupling component between this component and the 1D flow channels.

@lindsayad
Copy link
Member Author

Wouldn't full coupling make AD container size issues worse?

@GiudGiud
Copy link
Contributor

I think the junction takes care of reducing the required container size.

@joshuahansel
Copy link
Contributor

Wouldn't full coupling make AD container size issues worse?

Not what I have in mind. So for example, in Jan's case, he has 91 flow channels that get merged into a single junction, so that's a definite container size problem. What I have in mind is a multi-dimensional junction. Obviously I don't have any details worked out, but each flow channel would terminate on some subset of faces on the multi-D junction domain, maybe e.g., 1 face, 4 faces, depending on the mesh size of the multi-D domain and the diameter of the 1D channel.

@lindsayad
Copy link
Member Author

Should one multi-D component be able to cover all the discretizations, as opposed to one component per multi-D discretization? That would be really nice for users and be a simplification from what we have now, because we have different actions in navier_stokes for the different multi-D discretizations.

Alternatively/in-addition it sounds like may have a totally different block where we specify the discretization type, and this discretization object gets passed as a parameter into the Component flow objects

joshuahansel added a commit to joshuahansel/moose that referenced this issue Apr 4, 2023
joshuahansel added a commit to joshuahansel/moose that referenced this issue Apr 4, 2023
joshuahansel added a commit to joshuahansel/moose that referenced this issue Apr 4, 2023
joshuahansel added a commit to joshuahansel/moose that referenced this issue Apr 4, 2023
joshuahansel added a commit to joshuahansel/moose that referenced this issue Apr 5, 2023
joshuahansel added a commit to joshuahansel/moose that referenced this issue Apr 5, 2023
joshuahansel added a commit to joshuahansel/moose that referenced this issue Apr 5, 2023
joshuahansel added a commit to joshuahansel/moose that referenced this issue Apr 7, 2023
joshuahansel added a commit to joshuahansel/moose that referenced this issue Apr 7, 2023
joshuahansel added a commit to joshuahansel/moose that referenced this issue Apr 7, 2023
joshuahansel added a commit to joshuahansel/moose that referenced this issue Apr 7, 2023
joshuahansel added a commit to joshuahansel/moose that referenced this issue Apr 13, 2023
joshuahansel added a commit to joshuahansel/moose that referenced this issue Apr 13, 2023
joshuahansel added a commit to joshuahansel/moose that referenced this issue Apr 13, 2023
joshuahansel added a commit to joshuahansel/moose that referenced this issue Apr 13, 2023
joshuahansel added a commit to joshuahansel/moose that referenced this issue Apr 13, 2023
joshuahansel added a commit to joshuahansel/moose that referenced this issue Apr 13, 2023
joshuahansel added a commit to joshuahansel/moose that referenced this issue Apr 15, 2023
joshuahansel added a commit to joshuahansel/moose that referenced this issue Apr 15, 2023
joshuahansel added a commit to joshuahansel/moose that referenced this issue Apr 15, 2023
joshuahansel added a commit to joshuahansel/moose that referenced this issue Apr 15, 2023
joshuahansel added a commit to joshuahansel/moose that referenced this issue Apr 15, 2023
joshuahansel added a commit to joshuahansel/moose that referenced this issue Apr 15, 2023
joshuahansel added a commit to joshuahansel/moose that referenced this issue Apr 19, 2023
joshuahansel added a commit to joshuahansel/moose that referenced this issue Apr 19, 2023
joshuahansel added a commit to joshuahansel/moose that referenced this issue Apr 19, 2023
joshuahansel added a commit to joshuahansel/moose that referenced this issue Apr 19, 2023
joshuahansel added a commit to joshuahansel/moose that referenced this issue Apr 19, 2023
joshuahansel added a commit to joshuahansel/moose that referenced this issue Apr 19, 2023
joshuahansel added a commit to joshuahansel/moose that referenced this issue Apr 25, 2023
joshuahansel added a commit to joshuahansel/moose that referenced this issue Apr 25, 2023
joshuahansel added a commit to joshuahansel/moose that referenced this issue Apr 25, 2023
joshuahansel added a commit to joshuahansel/moose that referenced this issue Apr 25, 2023
joshuahansel added a commit to joshuahansel/moose that referenced this issue Apr 25, 2023
joshuahansel added a commit to joshuahansel/moose that referenced this issue Apr 25, 2023
chaibhave pushed a commit to chaibhave/moose that referenced this issue Jul 17, 2023
chaibhave pushed a commit to chaibhave/moose that referenced this issue Jul 17, 2023
chaibhave pushed a commit to chaibhave/moose that referenced this issue Jul 17, 2023
chaibhave pushed a commit to chaibhave/moose that referenced this issue Jul 17, 2023
chaibhave pushed a commit to chaibhave/moose that referenced this issue Jul 17, 2023
chaibhave pushed a commit to chaibhave/moose that referenced this issue Jul 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C: Modules/Thermal Hydraulics Tickets pertaining to the thermal_hydraulics module P: normal A defect affecting operation with a low possibility of significantly affects. T: task An enhancement to the software.
Projects
No open projects
Development

No branches or pull requests

3 participants