Skip to content

Consider alternatives to scalar variables for THM junction variables #25593

@lindsayad

Description

@lindsayad

Reason

Scalar variables as libMesh considers them are global variables (well they can be sudomain restricted) that should introduce a dense row and a dense column in the system matrix. Take for instance setting a mean zero pressure in a cavity problem to remove the nullspace: the scalar Lagrange multiplier variable residual is a function of every pressure dof in the cavity and every pressure residual is a function of the Lagrange multiplier dof. libMesh constructs its sparsity pattern anticipating a coupling structure like this, which can be unnecessarily expensive if the coupling structure is not that way.

Design

Consider an alternative like a Lagrange variable restricted to a NodeElem associated with the junction

  • Add option to choose between old and new behavior. Keep old behavior as default. Deprecate old behavior.
  • Migrate applications to use new option.
  • Make new behavior the only behavior and deprecate the now-useless option. Due date: Dec. 31, 2024.
  • Update applications to remove option from input files.
  • Remove option.

Impact

Potentially much faster sparsity build times. See #25555 for the impetus of this issue

Metadata

Metadata

Assignees

Labels

C: Modules/Thermal HydraulicsTickets pertaining to the thermal_hydraulics moduleT: taskAn enhancement to the software.

Type

No type

Projects

Status

In Progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions