idaholab / moose

Multiphysics Object Oriented Simulation Environment
https://www.mooseframework.org
GNU Lesser General Public License v2.1
1.77k stars 1.05k forks source link

Use of the rz_coord_axis parameter with thermo-mechanical problems gives incorrect results #12459

Open gambka opened 6 years ago

gambka commented 6 years ago

Rationale

The use of the rz_coord_axis parameter currently in FEProblemBase with a value of X (i.e., the axial direction of the axisymmetric simulation is in the X direction instead of Y) will not give the correct simulation results for thermo-mechanical problems.

The thermo-mechanical models for axisymmetric simulations have been originally coded assuming that the axial direction in 2D-RZ axisymmetric simulations is in the Y direction.

Description

An example of this can be seen in the test gap_heat_transfer_htonly_zr_test.i in combined/test/tests/gap_heat_transfer_htonly. The fluxes in this test case do not match what is calculated from the RZ test with the default value of rz_coord_axis = Y as they should. Moreover, the fluxes are not conservative in the sense that the flux leaving one surface is not equal to the negative of the flux on the other surface.

Also using this parameter with any of the axisymmetric strain calculators would yield incorrect behavior.

Impact

Significant. There would require a significant amount of code changes to get all of the thermo mechanical models to work appropriately with rz_coord_axis = X. Moreover, it may make more sense to have Moose::COORD_ZR for this case instead of having to use Moose::COORD_RZ plus the rz_coord_axis = X parameter

gambka commented 6 years ago

@bwspenc

tophmatthews commented 6 years ago

!!!

vincentlaboure commented 5 years ago

@gambka I took a closer look at this and, as far as GapHeatTransfer is concerned, the difference in heat fluxes does not seem to be due to the Z-R coordinates (as opposed to R-Z). If I add the following to modules/combined/test/tests/gap_heat_transfer_htonly/gap_heat_transfer_htonly_zr_test.i:

[MeshModifiers]
  [rotate]
    type = Transform
    transform = ROTATE
    vector_value = '-90 0 0'
  []
[]

and comment out rz_coord_axis = X, the results are virtually identical.

vincentlaboure commented 5 years ago

If I do similar things to test modules/combined/test/tests/gap_heat_transfer_htonly/gap_heat_transfer_htonly_rz_test.i with Z-R, I get the right fluxes.

So I guess modules/combined/test/tests/gap_heat_transfer_htonly/ZR should not be skipped (or be replaced by an active Z-R test)

gambka commented 5 years ago

@vincentlaboure and I tracked down the issue in regards to the Z-R gap heat transfer problem with the help of @jasondhales. That test will be corrected and be turned back on (not skipped). However, the issue of using rz_coord_axis = X with mechanics will still not work given that our axisymmetric strain calculators assume the Y axis is the axial axis.

Therefore, I will keep this issue open for the incompatibility with mechanics and the rz_coord_axis = X parameter.