Permalink
Browse files

Merge pull request #12606 from bwspenc/rz_coord_axis_error

Error if rz_coord_axis is used with solid_mechanics or tensor_mechanics
  • Loading branch information...
permcody committed Jan 11, 2019
2 parents 1abf649 + 390350a commit f83d410b159d79bf43903a38d74dfa927993abf6
@@ -236,6 +236,11 @@ SolidModel::SolidModel(const InputParameters & parameters)
// Use the first block to figure out the coordinate system (the above check ensures that they are
// the same)
_coord_type = _subproblem.getCoordSystem(_block_id[0]);

if (_coord_type == Moose::COORD_RZ && _subproblem.getAxisymmetricRadialCoord() != 0)
mooseError(
"rz_coord_axis=Y is the only supported option for axisymmetric SolidMechanics models");

_element = createElement();

const std::vector<std::string> & dmp = getParam<std::vector<std::string>>("dep_matl_props");
@@ -41,6 +41,9 @@ StressDivergenceRZTensors::initialSetup()
if (getBlockCoordSystem() != Moose::COORD_RZ)
mooseError("The coordinate system in the Problem block must be set to RZ for axisymmetric "
"geometries.");

if (getBlockCoordSystem() == Moose::COORD_RZ && _fe_problem.getAxisymmetricRadialCoord() != 0)
mooseError("rz_coord_axis=Y is the only supported option for StressDivergenceRZTensors");
}

Real
@@ -12,14 +12,14 @@
input = 'axisymm_plane_strain_small.i'
exodiff = 'axisymm_plane_strain_small_out.e'
design = 'source/materials/ComputeAxisymmetric1DSmallStrain.md'
requirement = 'The ComputeAxisymmetric1DIncrementalStrain class shall compute the elastic stress for a 1D axisymmetric small total strain formulation under a combination of applied tensile displacement and thermal expansion loading.'
requirement = 'The ComputeAxisymmetric1DSmallStrain class shall compute the elastic stress for a 1D axisymmetric small total strain formulation under a combination of applied tensile displacement and thermal expansion loading.'
[../]
[./axisymmetric_plane_strain_finite]
type = 'Exodiff'
input = 'axisymm_plane_strain_finite.i'
exodiff = 'axisymm_plane_strain_finite_out.e'
design = 'source/materials/ComputeAxisymmetric1DFiniteStrain.md'
requirement = 'The ComputeAxisymmetric1DIncrementalStrain class shall compute the elastic stress for a 1D axisymmetric incremental finite strain formulation under a combination of applied tensile displacement and thermal expansion loading.'
requirement = 'The ComputeAxisymmetric1DFiniteStrain class shall compute the elastic stress for a 1D axisymmetric incremental finite strain formulation under a combination of applied tensile displacement and thermal expansion loading.'
[../]

[./axisymmetric_gps_incremental]
@@ -34,13 +34,22 @@
input = 'axisymm_gps_small.i'
exodiff = 'axisymm_gps_small_out.e'
design = 'source/materials/ComputeAxisymmetric1DSmallStrain.md'
requirement = 'The ComputeAxisymmetric1DIncrementalStrain class shall, under generalized plane strain conditions, compute the elastic stress for a 1D axisymmetric small total strain formulation under a combination of applied tensile displacement and thermal expansion loading.'
requirement = 'The ComputeAxisymmetric1DSmallStrain class shall, under generalized plane strain conditions, compute the elastic stress for a 1D axisymmetric small total strain formulation under a combination of applied tensile displacement and thermal expansion loading.'
[../]
[./axisymmetric_gps_finite]
type = 'Exodiff'
input = 'axisymm_gps_finite.i'
exodiff = 'axisymm_gps_finite_out.e'
design = 'source/materials/ComputeAxisymmetric1DFiniteStrain.md'
requirement = 'The ComputeAxisymmetric1DIncrementalStrain class shall, under generalized plane strain conditions, compute the elastic stress for a 1D axisymmetric incremental finite strain formulation under a combination of applied tensile displacement and thermal expansion loading.'
requirement = 'The ComputeAxisymmetric1DFiniteStrain class shall, under generalized plane strain conditions, compute the elastic stress for a 1D axisymmetric incremental finite strain formulation under a combination of applied tensile displacement and thermal expansion loading.'
[../]
[./1d_finite_rz_coord_axis_error]
type = 'RunException'
prereq = axisymmetric_gps_finite
input = 'axisymm_gps_finite.i'
cli_args = 'Problem/rz_coord_axis=X'
expect_err = 'rz_coord_axis=Y is the only supported option for StressDivergenceRZTensors'
design = 'source/materials/ComputeAxisymmetric1DFiniteStrain.md'
requirement = 'The StressDivergenceRZTensors class shall generate an error if used with Problem/rz_coord_axis set to anything other than Y'
[../]
[]

0 comments on commit f83d410

Please sign in to comment.