www.mooseframework.org
LineMaterialRankTwoScalarSampler.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 #include "RankTwoScalarTools.h"
12 
14 
16 
17 InputParameters
19 {
20  InputParameters params = LineMaterialSamplerBase<Real>::validParams();
21  params.addClassDescription("Compute a scalar property of a RankTwoTensor");
22  params.addParam<MooseEnum>(
23  "scalar_type", RankTwoScalarTools::scalarOptions(), "A scalar to output");
24  params.addParam<Point>(
25  "point1",
26  Point(0, 0, 0),
27  "Start point for axis used to calculate some cylindrical material tensor quantities");
28  params.addParam<Point>("point2",
29  Point(0, 1, 0),
30  "End point for axis used to calculate some material tensor quantities");
31  params.addParam<Point>("direction", Point(0, 0, 1), "Direction vector");
32  return params;
33 }
34 
36  const InputParameters & parameters)
37  : LineMaterialSamplerBase<RankTwoTensor>(parameters),
38  _scalar_type(getParam<MooseEnum>("scalar_type")),
39  _point1(parameters.get<Point>("point1")),
40  _point2(parameters.get<Point>("point2")),
41  _direction(parameters.get<Point>("direction") / parameters.get<Point>("direction").norm())
42 {
43 }
44 
45 Real
47  const Point & curr_point)
48 {
50  property, _scalar_type, _point1, _point2, curr_point, _direction);
51 }
defineLegacyParams
defineLegacyParams(LineMaterialRankTwoScalarSampler)
LineMaterialRankTwoScalarSampler::getScalarFromProperty
virtual Real getScalarFromProperty(const RankTwoTensor &property, const Point &curr_point)
Reduce the RankTwoTensor material property to a scalar for output Call through to RankTwoScalarTools:...
Definition: LineMaterialRankTwoScalarSampler.C:46
LineMaterialRankTwoScalarSampler
This class samples RankTwoTensor material properties for the integration points in all elements that ...
Definition: LineMaterialRankTwoScalarSampler.h:26
LineMaterialRankTwoScalarSampler::_scalar_type
MooseEnum _scalar_type
Definition: LineMaterialRankTwoScalarSampler.h:49
registerMooseObject
registerMooseObject("TensorMechanicsApp", LineMaterialRankTwoScalarSampler)
RankTwoScalarTools::getQuantity
T getQuantity(const RankTwoTensorTempl< T > &tensor, const MooseEnum &scalar_type, const Point &point1, const Point &point2, const Point &curr_point, Point &direction)
Definition: RankTwoScalarTools.h:420
LineMaterialRankTwoScalarSampler::LineMaterialRankTwoScalarSampler
LineMaterialRankTwoScalarSampler(const InputParameters &parameters)
Class constructor Sets up variables for output based on the properties to be output.
Definition: LineMaterialRankTwoScalarSampler.C:35
LineMaterialRankTwoScalarSampler::_direction
Point _direction
Definition: LineMaterialRankTwoScalarSampler.h:53
validParams
InputParameters validParams()
LineMaterialRankTwoScalarSampler::_point2
const Point _point2
Definition: LineMaterialRankTwoScalarSampler.h:52
LineMaterialRankTwoScalarSampler::_point1
const Point _point1
Definition: LineMaterialRankTwoScalarSampler.h:51
LineMaterialRankTwoScalarSampler::validParams
static InputParameters validParams()
Definition: LineMaterialRankTwoScalarSampler.C:18
RankTwoScalarTools.h
RankTwoTensorTempl< Real >
LineMaterialRankTwoScalarSampler.h
RankTwoScalarTools::scalarOptions
MooseEnum scalarOptions()
Definition: RankTwoScalarTools.C:16