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

Enable multiple objects, postprocs, transfers for FV variables #16115

Merged
merged 10 commits into from Nov 16, 2020

Conversation

GiudGiud
Copy link
Contributor

@GiudGiud GiudGiud commented Nov 8, 2020

Enable the following pp, user objects and transfers to work with FV variables:

  • ElementIntegralArrayVariablePostProcessor
  • ElementVariablePostProcessor
  • InterfaceIntegralVariableValuePostProcessor
  • Side IntegralVarablePostProcessor
  • ElementIntegralVariableUserObject
  • SideIntegralVariableUserObject
  • PointSampleBase derived vector pp
  • MultiAppVariableValueSampleTransfer
  • MultiAppVariableValueSamplePostProcessorTransfer

Refs #16099, linked to #16069

For the user objects, they are bases for other user objects. Should I add tests with fv for all of them or just one?
For the fix in the phase field module, should I add a test? Not sure FV is used for phase field modeling.

@GiudGiud GiudGiud changed the title Pr fv objects Enable multiple objects, postprocs, transfers for FV variables Nov 8, 2020
@moosebuild
Copy link
Contributor

Job Precheck on 6e81f25 wanted to post the following:

Your code requires style changes.

A patch was auto generated and copied here
You can directly apply the patch by running, in the top level of your repository:

curl -s https://mooseframework.inl.gov/docs/PRs/16115/style.patch | git apply -v

Alternatively, with your repository up to date and in the top level of your repository:

git clang-format 56c8c77449cf3c6e444c1abeb680597750da0cb2

@rwcarlsen
Copy link
Contributor

Regarding test questions - just make sure that ideally ~every modified chunk of code gets hit by at least one test - i.e. if you undo any single (substantive) change in this PR - you would want at least one test to break.

@GiudGiud
Copy link
Contributor Author

GiudGiud commented Nov 9, 2020

Ok one test per base object should be able to do this then. I will add them soon. Thanks for the guidance

@rwcarlsen
Copy link
Contributor

Alright - are you ready for a review on this?

@GiudGiud
Copy link
Contributor Author

GiudGiud commented Nov 11, 2020

Sure!
I'll take care of postprocessors/interface_value.interface_integral_variable_value_postprocessor_fv_test rn but dont let it stop you
it's failing because I started from a test using stateful properties and they arent supported in FV

EDIT Actually I used those in 2 different tests and the other did fine. I wonder what's special about this one.
I don't think it's worth getting rid of stateful materials here, the tests are pretty well designed, we just have to wait for FV stateful material support to enable them.
I raised an issue and added a skip on those two tests.

If the workaround is not satisfactory I think I would just fix stateful materials with FV.

@moosebuild
Copy link
Contributor

moosebuild commented Nov 11, 2020

Job Documentation on 21e9e5a wanted to post the following:

View the site here

This comment will be updated on new commits.

Copy link
Contributor

@rwcarlsen rwcarlsen left a comment

Choose a reason for hiding this comment

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

Looks good. Just a couple minor things.

@@ -18,7 +18,15 @@
input = 'pps_old_value.i'
exodiff = 'pps_old_value_out.e'

detail = 'at the end of each time step.'
detail = 'at the end of each time step, for both FE and'
Copy link
Contributor

Choose a reason for hiding this comment

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

'... and FV.'

Copy link
Contributor Author

Choose a reason for hiding this comment

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

ok moved the and to the next detail.
Not sure where these go yet, I just copied what was being done in the file

Comment on lines 107 to 128
[Postprocessors]
[./diffusivity_average]
type = InterfaceIntegralVariableValuePostprocessor
interface_value_type = average
variable = diffusivity_1
neighbor_variable = diffusivity_2
execute_on = TIMESTEP_END
boundary = 'interface'
[../]
[./diffusivity_jump_primary_secondary]
type = InterfaceIntegralVariableValuePostprocessor
interface_value_type = jump_primary_minus_secondary
variable = diffusivity_1
neighbor_variable = diffusivity_2
execute_on = TIMESTEP_END
boundary = 'interface'
[../]
[./diffusivity_jump_secondary_primary]
type = InterfaceIntegralVariableValuePostprocessor
interface_value_type = jump_secondary_minus_primary
variable = diffusivity_1
neighbor_variable = diffusivity_2
Copy link
Contributor

Choose a reason for hiding this comment

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

I think this input file can be combined with the average variable value postprocessor one. Just do type=${pp_type} and then have a top-level pp_type = foo parameter that you then set in the test spec file via the cli_args param to be either InterfaceIntegralVariableValuePostprocessor or InterfaceAverageVariableValuePostrocessor.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

ok done.
I also did the same for the FE tests for consistency. Two less input files to download!

@@ -28,7 +28,15 @@
input = 'average_sample.i'
exodiff = 'average_sample_out.e'

detail = 'as an average calculation.'
detail = 'as an average calculation,'
Copy link
Contributor

Choose a reason for hiding this comment

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

I do not understand what the detail writer on these tests was trying to do. These detail fragments don't mesh well with the group prefix. @aeslaughter - are detail comments suppose to not "finish" the group sentence each? Why do these end with "with" and "and"?

Copy link
Contributor

Choose a reason for hiding this comment

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

The requirement just needs to be cleaned up. I tend to write them as one complete sentence if possible.

requirement = "The system shall output data the"
detail = "ExodusII,"
detail = "CSV, and"
detail = "JSON formats."

This will render as:

The system shall output data the
(a) ExodusII,
(b) CSV, and
(c) JSON formats.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

the way I wrote the requirements should work either way?

@GiudGiud
Copy link
Contributor Author

ok lemme clean the mess with the gold. Ideally, I shouldnt need to re-gold those two I changed

Use command line arguments to simplify interface value tests, idaholab#16099
@GiudGiud
Copy link
Contributor Author

Ok should be good now, aside from the "detail" thing

@rwcarlsen
Copy link
Contributor

I'll wait for tests to finish before merging.

@GiudGiud
Copy link
Contributor Author

I don't think the test failures have to do with this PR btw. Am I wrong?

@moosebuild
Copy link
Contributor

Job App tests (Non Conda) on 21e9e5a : invalidated by @GiudGiud

Testing re-running a test

@moosebuild
Copy link
Contributor

Job Private App tests on 21e9e5a : invalidated by @GiudGiud

Why are Relap7 and thm failing

@moosebuild
Copy link
Contributor

Job Mac Test on 21e9e5a : invalidated by @rwcarlsen

@rwcarlsen
Copy link
Contributor

There are 2 failing mastodon tests that look like they might be related to this. Mastodon lives on idaholab github. Why don't you check it out and see if you can reproduce the issue and confirm whether this PR causes it.

@GiudGiud
Copy link
Contributor Author

They fail on my workstation with devel moose.
fv in those tests stand for fluid viscous not finite volume btw

@rwcarlsen rwcarlsen merged commit 9455797 into idaholab:next Nov 16, 2020
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.

None yet

4 participants