It would be good to have the capacity to pass 0D information between codes at boundaries. For example: Imagine a flow loop being simulated in SAM, with only a portion of a pipe being simulated in NekRS. We would want:
to pass avg. temperature, avg. pressure and total mass flow rate (or avg. velocity, area and density) from NekRS to SAM on both pipe surfaces (inlet and outlet); Similar information back from SAM to NekRS;
OR to pass forces like the average pressure gradient between NekRS and SAM. temperature, velocity and pressure from SAM to NekRS.
For a general feature I think we would to have an API that allows a number of N properties to be exchanged at the boundaries. Postprocessors can then be added in SAM or other system analysis codes to pass to NekRS.
To keep the various coupling types distinct, I propose adding a new problem, like NekScalarProblem or Nek0DProblem that would be used to couple Nek to systems-level feedback to differentiation from NekRSProblem, that couples for 2-D boundary and 3-D volume feedback.
Basic checklist:
[ ] Build input models for the 3 coupling options (NekRS b/w two 1-D domains, NekRS at exit of 1-D domain, NekRS at inlet of 1-D domain)
[ ] Add robust error checking
[ ] Add online documentation
[ ] Add online tutorial
[ ] Ensure that the correct transformations exist for non-dimensional Nek models
[ ] Ensure compatibility with distributed mesh implementation
Possible more advanced features:
[ ] Allow a multi-inlet, multi-outlet NekRS domain to be coupled, by allowing different inlet and outlet BCs to be set based on boundary
It would be good to have the capacity to pass 0D information between codes at boundaries. For example: Imagine a flow loop being simulated in SAM, with only a portion of a pipe being simulated in NekRS. We would want:
to pass avg. temperature, avg. pressure and total mass flow rate (or avg. velocity, area and density) from NekRS to SAM on both pipe surfaces (inlet and outlet); Similar information back from SAM to NekRS;
OR to pass forces like the average pressure gradient between NekRS and SAM. temperature, velocity and pressure from SAM to NekRS.
For a general feature I think we would to have an API that allows a number of N properties to be exchanged at the boundaries. Postprocessors can then be added in SAM or other system analysis codes to pass to NekRS.
To keep the various coupling types distinct, I propose adding a new problem, like
NekScalarProblem
orNek0DProblem
that would be used to couple Nek to systems-level feedback to differentiation fromNekRSProblem
, that couples for 2-D boundary and 3-D volume feedback.Basic checklist:
Possible more advanced features: