https://mooseframework.inl.gov
Loading...
Searching...
No Matches
ADStressDivergenceRSphericalTensors.C
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
3//*
4//* All rights reserved, see COPYRIGHT for full restrictions
5//* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6//*
7//* Licensed under LGPL 2.1, please see LICENSE for details
8//* https://www.gnu.org/licenses/lgpl-2.1.html
9
12#include "FEProblem.h"
13#include "MooseMesh.h"
14#include "Assembly.h"
15
17
20{
23 "Calculate stress divergence for a spherically symmetric 1D problem in polar coordinates.");
24 params.set<unsigned int>("component") = 0;
25 return params;
26}
27
29 const InputParameters & parameters)
30 : ADStressDivergenceTensors(parameters)
31{
32 if (_component != 0)
33 mooseError("Invalid component for this 1D RSpherical problem.");
34}
35
36void
38{
40 mooseError("The coordinate system in the Problem block must be set to RSPHERICAL for 1D "
41 "spherically symmetric geometries.");
42}
43
46{
47 return _grad_test[_i][_qp](0) * _stress[_qp](0, 0) + // stress_{rr} part 1
48 (_test[_i][_qp] / _ad_q_point[_qp](0)) * _stress[_qp](1, 1) + // stress_{\theta \theta}
49 (_test[_i][_qp] / _ad_q_point[_qp](0)) * _stress[_qp](2, 2); // stress_{\phi \phi}
50}
DualNumber< Real, DNDerivativeType, true > ADReal
registerMooseObject("SolidMechanicsApp", ADStressDivergenceRSphericalTensors)
const MooseArray< ADPoint > & _ad_q_point
const ADTemplateVariableTestValue< T > & _test
const ADTemplateVariableTestGradient< T > & _grad_test
ADStressDivergenceRSphericalTensors is the automatic differentiation version of StressDivergenceTenso...
ADStressDivergenceRSphericalTensors(const InputParameters &parameters)
ADStressDivergenceTensors is the automatic differentiation version of StressDivergenceTensors.
const unsigned int _component
An integer corresponding to the direction this kernel acts in.
const ADMaterialProperty< R2 > & _stress
The stress tensor that the divergence operator operates on.
Moose::CoordinateSystemType getBlockCoordSystem()
void addClassDescription(const std::string &doc_string)
T & set(const std::string &name, bool quiet_mode=false)
unsigned int _qp
unsigned int _i
void mooseError(Args &&... args) const
COORD_RSPHERICAL