www.mooseframework.org
ADCompute1DSmallStrain.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
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 
10 #include "ADCompute1DSmallStrain.h"
11 
12 #include "libmesh/quadrature.h"
13 
15 
16 template <ComputeStage compute_stage>
17 InputParameters
19 {
20  InputParameters params = ADComputeSmallStrain<compute_stage>::validParams();
21  params.addClassDescription("Compute a small strain in 1D problem");
22  return params;
23 }
24 
25 template <ComputeStage compute_stage>
27  : ADComputeSmallStrain<compute_stage>(parameters)
28 {
29 }
30 
31 template <ComputeStage compute_stage>
32 void
34 {
35  for (_qp = 0; _qp < _qrule->n_points(); ++_qp)
36  {
37  _total_strain[_qp](0, 0) = (*_grad_disp[0])[_qp](0);
38  _total_strain[_qp](1, 1) = computeStrainYY();
39  _total_strain[_qp](2, 2) = computeStrainZZ();
40 
41  _mechanical_strain[_qp] = _total_strain[_qp];
42 
43  // Remove the eigenstrain
44  for (const auto es : _eigenstrains)
45  _mechanical_strain[_qp] -= (*es)[_qp];
46  }
47 
48  copyDualNumbersToValues();
49 }
50 
51 // explicit instantiation is required for AD base classes
ADCompute1DSmallStrain::computeProperties
void computeProperties() override
Definition: ADCompute1DSmallStrain.C:33
ADComputeSmallStrain
ADComputeSmallStrain defines a strain tensor, assuming small strains.
Definition: ADComputeSmallStrain.h:17
ADCompute1DSmallStrain
ADCompute1DSmallStrain defines a strain tensor, assuming small strains, in 1D problems,...
Definition: ADCompute1DSmallStrain.h:20
ADComputeSmallStrain::validParams
static InputParameters validParams()
Definition: ADComputeSmallStrain.C:19
adBaseClass
adBaseClass(ADCompute1DSmallStrain)
ADCompute1DSmallStrain.h
ADCompute1DSmallStrain::validParams
static InputParameters validParams()
Definition: ADCompute1DSmallStrain.C:18
ADCompute1DSmallStrain::ADCompute1DSmallStrain
ADCompute1DSmallStrain(const InputParameters &parameters)
Definition: ADCompute1DSmallStrain.C:26
defineADLegacyParams
defineADLegacyParams(ADCompute1DSmallStrain)