https://mooseframework.inl.gov
Loading...
Searching...
No Matches
RotationTensor.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 "Moose.h"
13#include "MooseTypes.h"
14
15// Any requisite includes here
16#include "libmesh/tensor_value.h"
17#include "libmesh/vector_value.h"
18
30class RotationTensor : public RealTensorValue
31{
32public:
34 enum Axis
35 {
36 XAXIS = 0,
38 ZAXIS
39 };
40
42 RotationTensor(Axis axis, Real angle);
43
45 RotationTensor(const RealVectorValue & euler_angles);
46
48 void update(Axis axis, Real angle);
49
51 void update(const RealVectorValue & euler_angles);
52};
This is a RealTensor version of a rotation matrix It is instantiated with the Euler angles,...
Axis
axis for single axis rotation constructor
void update(Axis axis, Real angle)
reforms the rotation matrix according to axis and angle.