void
StressDivergenceTensors::initialSetup()
{
  if (getBlockCoordSystem() != Moose::COORD_XYZ)
    mooseError(
        "The coordinate system in the Problem block must be set to XYZ for cartesian geometries.");
}
Example #2
0
void
StressDivergenceRZTensors::initialSetup()
{
  if (getBlockCoordSystem() != Moose::COORD_RZ)
    mooseError("The coordinate system in the Problem block must be set to RZ for axisymmetric "
               "geometries.");
}
Example #3
0
Density::Density(const InputParameters & parameters)
  : Material(parameters),
    _is_coupled(true),
    _disp_r(isCoupled("displacements") ? coupledValue("displacements", 0)
                                       : (isCoupled("disp_r") ? coupledValue("disp_r") : _zero)),
    _orig_density(getParam<Real>("density")),
    _density(declareProperty<Real>("density")),
    _density_old(declarePropertyOld<Real>("density"))
{
  // new parameter scheme
  if (isCoupled("displacements"))
  {
    // get coordinate system
    _coord_system = getBlockCoordSystem();

    // get coupled gradients
    const unsigned int ndisp = coupledComponents("displacements");
    _grad_disp.resize(ndisp);
    for (unsigned int i = 0; i < ndisp; ++i)
      _grad_disp[i] = &coupledGradient("displacements", i);

    // fill remaining components with zero
    _grad_disp.resize(3, &_grad_zero);
  }

  // old deprecated parameters
  else if (isCoupled("disp_x") || isCoupled("disp_r"))
  {
    // guess(!) coordinate system
    if (isCoupled("disp_r"))
    {
      if (isCoupled("disp_z"))
        _coord_system = Moose::COORD_RZ;
      else
        _coord_system = Moose::COORD_RSPHERICAL;
    }
    else
      _coord_system = Moose::COORD_XYZ;

    // couple gradients
    _grad_disp = {
        isCoupled("disp_x") ? &coupledGradient("disp_x")
                            : (isCoupled("disp_r") ? &coupledGradient("disp_r") : &_grad_zero),
        isCoupled("disp_y") ? &coupledGradient("disp_y")
                            : (isCoupled("disp_z") ? &coupledGradient("disp_z") : &_grad_zero),
        _coord_system != Moose::COORD_RZ && isCoupled("disp_z") ? &coupledGradient("disp_z")
                                                                : &_grad_zero};
  }

  // no coupling
  else
  {
    _is_coupled = false;
    // TODO: We should deprecate this case and have the user use a GenericConstantMaterial for this
  }
}
void
ComputeAxisymmetric1DIncrementalStrain::initialSetup()
{
  if (getBlockCoordSystem() != Moose::COORD_RZ)
    mooseError("The coordinate system must be set to RZ for Axisymmetric 1D simulations");
}