www.mooseframework.org
ComputeThermalExpansionEigenstrainBeamBase.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 
11 
13 
14 InputParameters
16 {
17  InputParameters params = ComputeEigenstrainBeamBase::validParams();
18  params.addRequiredCoupledVar("temperature", "Coupled temperature");
19  params.addRequiredCoupledVar("stress_free_temperature",
20  "Reference temperature at which there is no "
21  "thermal expansion for thermal eigenstrain "
22  "calculation");
23  return params;
24 }
25 
27  const InputParameters & parameters)
28  : DerivativeMaterialInterface<ComputeEigenstrainBeamBase>(parameters),
29  _temperature(coupledValue("temperature")),
30  _stress_free_temperature(coupledValue("stress_free_temperature"))
31 {
32 }
33 
34 void
36 {
37  // fetch the two end nodes for current element
38  std::vector<const Node *> node;
39  for (unsigned int i = 0; i < 2; ++i)
40  node.push_back(_current_elem->node_ptr(i));
41 
42  // calculate initial axis of the beam element
43  for (unsigned int i = 0; i < 2; ++i)
44  _initial_axis(i) = (*node[1])(i) - (*node[0])(i);
45 
46  _initial_axis /= _initial_axis.norm();
47 
48  Real thermal_strain = 0.0;
49 
50  computeThermalStrain(thermal_strain);
51 
52  _disp_eigenstrain[_qp].zero();
53  _rot_eigenstrain[_qp].zero();
54  _disp_eigenstrain[_qp] = _initial_axis * thermal_strain;
55 }
ComputeThermalExpansionEigenstrainBeamBase::computeThermalStrain
virtual void computeThermalStrain(Real &thermal_strain)=0
ComputeThermalExpansionEigenstrainBeamBase::validParams
static InputParameters validParams()
Definition: ComputeThermalExpansionEigenstrainBeamBase.C:15
ComputeThermalExpansionEigenstrainBeamBase.h
defineLegacyParams
defineLegacyParams(ComputeThermalExpansionEigenstrainBeamBase)
ComputeThermalExpansionEigenstrainBeamBase::_initial_axis
RealGradient _initial_axis
Initial orientation of the beam.
Definition: ComputeThermalExpansionEigenstrainBeamBase.h:50
ComputeThermalExpansionEigenstrainBeamBase::computeQpEigenstrain
virtual void computeQpEigenstrain() override
Definition: ComputeThermalExpansionEigenstrainBeamBase.C:35
ComputeThermalExpansionEigenstrainBeamBase
ComputeThermalExpansionEigenstrainBeamBase is a base class for all models that compute beam eigenstra...
Definition: ComputeThermalExpansionEigenstrainBeamBase.h:24
ComputeEigenstrainBeamBase
ComputeEigenstrainBeamBase is the base class for beam eigenstrain vectors.
Definition: ComputeEigenstrainBeamBase.h:22
ComputeEigenstrainBeamBase::validParams
static InputParameters validParams()
Definition: ComputeEigenstrainBeamBase.C:15
ComputeThermalExpansionEigenstrainBeamBase::ComputeThermalExpansionEigenstrainBeamBase
ComputeThermalExpansionEigenstrainBeamBase(const InputParameters &parameters)
Definition: ComputeThermalExpansionEigenstrainBeamBase.C:26