Skip to content

HTPIPE code interface #2460

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

Open
wants to merge 31 commits into
base: devel
Choose a base branch
from
Open

HTPIPE code interface #2460

wants to merge 31 commits into from

Conversation

alfoa
Copy link
Collaborator

@alfoa alfoa commented Mar 28, 2025


Pull Request Description

What issue does this change request address? (Use "#" before the issue to link it, i.e., #42.)

Ref. #611

What are the significant changes in functionality due to this change request?

This PR introduces a new code interface in RAVEN to drive calculation using HTPIPE software from Los Alamos (see https://www.osti.gov/servlets/purl/5839045).

The code interface has been developed, tests added and documentation updated.


For Change Control Board: Change Request Review

The following review must be completed by an authorized member of the Change Control Board.

  • 1. Review all computer code.
  • 2. If any changes occur to the input syntax, there must be an accompanying change to the user manual and xsd schema. If the input syntax change deprecates existing input files, a conversion script needs to be added (see Conversion Scripts).
  • 3. Make sure the Python code and commenting standards are respected (camelBack, etc.) - See on the wiki for details.
  • 4. Automated Tests should pass, including run_tests, pylint, manual building and xsd tests. If there are changes to Simulation.py or JobHandler.py the qsub tests must pass.
  • 5. If significant functionality is added, there must be tests added to check this. Tests should cover all possible options. Multiple short tests are preferred over one large test. If new development on the internal JobHandler parallel system is performed, a cluster test must be added setting, in XML block, the node <internalParallel> to True.
  • 6. If the change modifies or adds a requirement or a requirement based test case, the Change Control Board's Chair or designee also needs to approve the change. The requirements and the requirements test shall be in sync.
  • 7. The merge request must reference an issue. If the issue is closed, the issue close checklist shall be done.
  • 8. If an analytic test is changed/added is the the analytic documentation updated/added?
  • 9. If any test used as a basis for documentation examples (currently found in raven/tests/framework/user_guide and raven/docs/workshop) have been changed, the associated documentation must be reviewed and assured the text matches the example.

@alfoa alfoa requested a review from mandd March 28, 2025 16:44
@moosebuild
Copy link

Job Mingw Test on 2aebaa1 : invalidated by @alfoa

@moosebuild
Copy link

Job Mingw Test on 2aebaa1 : invalidated by @alfoa

unrelated failure?

@moosebuild
Copy link

Job Test mac on 319458d : invalidated by @joshua-cogliati-inl

failed in set python environment with download failure

@moosebuild
Copy link

Job Test mac on 319458d : invalidated by @alfoa

@moosebuild
Copy link

Job Mingw Test on e9ed810 : invalidated by @alfoa

Fetch error

@moosebuild
Copy link

Job Mingw Test on e9ed810 : invalidated by @alfoa

1 similar comment
@moosebuild
Copy link

Job Mingw Test on e9ed810 : invalidated by @alfoa

@alfoa
Copy link
Collaborator Author

alfoa commented Apr 8, 2025

'''
and the repository exists.
fatal: clone of '[email protected]:RAVEN_PLUGINS/SRAW.git' into submodule path 'C:/Git/opt/build_root/raven/plugins/SRAW' failed
Failed to clone 'plugins/SRAW'. Retry scheduled
'''
@joshua-cogliati-inl ? is it related with this mr?

@moosebuild
Copy link

Job Mingw Test on e9ed810 : invalidated by @alfoa

1 similar comment
@moosebuild
Copy link

Job Mingw Test on e9ed810 : invalidated by @alfoa

@alfoa
Copy link
Collaborator Author

alfoa commented Apr 10, 2025

@mandd can you review this or can you assign someone else?

@joshua-cogliati-inl
Copy link
Contributor

''' and the repository exists. fatal: clone of '[email protected]:RAVEN_PLUGINS/SRAW.git' into submodule path 'C:/Git/opt/build_root/raven/plugins/SRAW' failed Failed to clone 'plugins/SRAW'. Retry scheduled ''' @joshua-cogliati-inl ? is it related with this mr?

Sorry, internal network issues at INL, we disabled SRAW until they are fixed.

@moosebuild
Copy link

Job Mingw Test on a2b4da6 : invalidated by @joshua-cogliati-inl

failed in fetch Directory not empty

@moosebuild
Copy link

Job Test qsubs sawtooth on a2b4da6 : invalidated by @alfoa

@moosebuild
Copy link

Job Mingw Test on a2b4da6 : invalidated by @alfoa

fetch error

@moosebuild
Copy link

Job Mingw Test on a2b4da6 : invalidated by @joshua-cogliati-inl

failed in fetch Directory not empty

@moosebuild
Copy link

Job Test qsubs sawtooth on a2b4da6 : invalidated by @joshua-cogliati-inl

FAILED: Diff tests/cluster_tests/test_mpiqsub_long

@alfoa
Copy link
Collaborator Author

alfoa commented Apr 17, 2025

Moved MAMMOTH tests in dedicated folder.

@moosebuild
Copy link

Job Test qsubs sawtooth on f1e50b1 : invalidated by @joshua-cogliati-inl

failed in fetch Directory not empty

@alfoa
Copy link
Collaborator Author

alfoa commented Apr 22, 2025

@mandd ?

Copy link
Collaborator

@mandd mandd left a comment

Choose a reason for hiding this comment

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

Few comments left here, thanks!

table, whose data and variables depend on the calculation type, which is defined in the input file (first raw of the input file):
\begin{itemize}
\item \textit{1}: Calculation of the operational limits (e.g. boiling limits, capillarity limits, etc.)
\item \textit{2}: Calculation of pressure and temperature distribution along the heat pipe
Copy link
Collaborator

Choose a reason for hiding this comment

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

so no transient calculations?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Yeah HTPIPE is a steady state only software

raise Exception('No correct input file has been found. HTPIPE input must be of type "htpipe". Got: '+' '.join(inputFiles))
return inputFile

def getInputExtension(self):
Copy link
Collaborator

Choose a reason for hiding this comment

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

is this methods being used somewhere?

Copy link
Collaborator Author

@alfoa alfoa Apr 25, 2025

Choose a reason for hiding this comment

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

This is called by the ``ravenframework/Models/Code.py'' class.

Since there is a default ``.i'', I overload the method here because HTPIPE does not use extensions.

@ In, None
@ Out, getInputExtension, tuple(str), the ext of the code input file (empty string here)
"""
return ("",)
Copy link
Collaborator

Choose a reason for hiding this comment

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

what's the scope of this returned object?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Since there is a default ``.i'', I overload the method here because HTPIPE does not use extensions.

@ Out, valid, bool, 'True' if an input file has an extension of '.nescene', otherwise 'False'.
"""
valid = False
if inputFile.getType().lower() == 'htpipe':
Copy link
Collaborator

Choose a reason for hiding this comment

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

where do we check for the ".nescene" extension (see method descirption in @out)?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

sorry left over. Changed docstring (@ Out, valid, bool, 'True' if an input file has a type == htpipe, otherwise 'False'.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants