www.mooseframework.org
RotationTensor.h
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 #pragma once
11 
12 #include "Moose.h"
13 
14 // Any requisite includes here
15 #include "libmesh/tensor_value.h"
16 #include "libmesh/vector_value.h"
17 
29 class RotationTensor : public RealTensorValue
30 {
31 public:
33  enum Axis
34  {
35  XAXIS = 0,
38  };
39 
41  RotationTensor(Axis axis, Real angle);
42 
44  RotationTensor(const RealVectorValue & euler_angles);
45 
47  void update(Axis axis, Real angle);
48 
50  void update(const RealVectorValue & euler_angles);
51 };
52 
RotationTensor::YAXIS
Definition: RotationTensor.h:36
RotationTensor::ZAXIS
Definition: RotationTensor.h:37
RotationTensor::XAXIS
Definition: RotationTensor.h:35
RotationTensor
This is a RealTensor version of a rotation matrix It is instantiated with the Euler angles,...
Definition: RotationTensor.h:29
RotationTensor::RotationTensor
RotationTensor(Axis axis, Real angle)
single axis rotation (in degrees)
Definition: RotationTensor.C:13
RotationTensor::update
void update(Axis axis, Real angle)
reforms the rotation matrix according to axis and angle.
Definition: RotationTensor.C:18
RotationTensor::Axis
Axis
axis for single axis rotation constructor
Definition: RotationTensor.h:33