https://mooseframework.inl.gov
Torque.h
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 
10 #pragma once
11 
12 #include "IntegratedBC.h"
13 #include "ADIntegratedBC.h"
14 
15 class Function;
16 
17 // switch parent class depending on is_ad value
18 template <bool is_ad>
19 using TorqueParent = typename std::conditional<is_ad, ADIntegratedBC, IntegratedBC>::type;
20 
24 template <bool is_ad>
25 class TorqueTempl : public TorqueParent<is_ad>
26 {
27 public:
29 
30  TorqueTempl(const InputParameters & parameters);
31 
32 protected:
34 
35  Real componentJacobian(unsigned int component);
36 
37  virtual Real computeQpJacobian();
38  virtual Real computeQpOffDiagJacobian(unsigned int);
39 
41  unsigned int _component;
42 
44  const Point _origin;
47 
49  const Function & _factor;
51  const Real & _alpha;
54 
56  const unsigned int _ndisp;
58  std::vector<unsigned int> _dvars;
59 
61  const Point _dummy_point;
62 
68 };
69 
const Point _origin
pivot point for the torque
Definition: Torque.h:44
Moose::GenericType< Real, is_ad > GenericReal
Real componentJacobian(unsigned int component)
static const std::string component
Definition: NS.h:153
std::vector< unsigned int > _dvars
coupled displacement variables
Definition: Torque.h:58
const Real & _alpha
alpha parameter required for HHT time integration scheme
Definition: Torque.h:51
const unsigned int _ndisp
number of coupled displacement variables
Definition: Torque.h:56
typename std::conditional< is_ad, ADIntegratedBC, IntegratedBC >::type TorqueParent
Definition: Torque.h:19
unsigned int _component
coordinte axis this BC acts on
Definition: Torque.h:41
Real PostprocessorValue
usingTransientInterfaceMembers
Definition: Torque.h:63
const RealVectorValue _torque
applied torque vector
Definition: Torque.h:46
const Point _dummy_point
dummy point (zero) used in evaluating the time dependent prefactor
Definition: Torque.h:61
TorqueTempl(const InputParameters &parameters)
Definition: Torque.C:39
virtual Real computeQpJacobian()
Definition: Torque.C:115
static InputParameters validParams()
Definition: Torque.C:18
const PostprocessorValue & _pmi
postprocessor that computes the polar moment of inertia
Definition: Torque.h:53
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual Real computeQpOffDiagJacobian(unsigned int)
Definition: Torque.C:122
Apply a torque as tractions distributed over a surface.
Definition: Torque.h:25
virtual GenericReal< is_ad > computeQpResidual()
const Function & _factor
prefactor function (can only be time dependent)
Definition: Torque.h:49