www.mooseframework.org
ConstantAnisotropicMobility.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 template <>
15 InputParameters
17 {
18  InputParameters params = validParams<Material>();
19  params.addClassDescription("Provide a constant mobility tensor value");
20  params.addRequiredParam<MaterialPropertyName>("M_name",
21  "Name of the mobility tensor property to generate");
22  params.addRequiredRangeCheckedParam<std::vector<Real>>(
23  "tensor", "tensor_size=9", "Tensor values");
24  return params;
25 }
26 
28  : Material(parameters),
29  _M_values(getParam<std::vector<Real>>("tensor")),
30  _M_name(getParam<MaterialPropertyName>("M_name")),
31  _M(declareProperty<RealTensorValue>(_M_name))
32 {
33 }
34 
35 void
37 {
38  _M.resize(_fe_problem.getMaxQps());
39  for (unsigned int qp = 0; qp < _M.size(); ++qp)
40  for (unsigned int a = 0; a < LIBMESH_DIM; ++a)
41  for (unsigned int b = 0; b < LIBMESH_DIM; ++b)
42  _M[qp](a, b) = _M_values[a * 3 + b];
43 }
ConstantAnisotropicMobility::ConstantAnisotropicMobility
ConstantAnisotropicMobility(const InputParameters &parameters)
Definition: ConstantAnisotropicMobility.C:27
ConstantAnisotropicMobility
ConstantAnisotropicMobility provides a simple RealTensorValue type MaterialProperty that can be used ...
Definition: ConstantAnisotropicMobility.h:23
registerMooseObject
registerMooseObject("PhaseFieldApp", ConstantAnisotropicMobility)
ConstantAnisotropicMobility::_M
MaterialProperty< RealTensorValue > & _M
Definition: ConstantAnisotropicMobility.h:37
ConstantAnisotropicMobility::initialSetup
virtual void initialSetup()
Definition: ConstantAnisotropicMobility.C:36
validParams< ConstantAnisotropicMobility >
InputParameters validParams< ConstantAnisotropicMobility >()
Definition: ConstantAnisotropicMobility.C:16
ConstantAnisotropicMobility.h
ConstantAnisotropicMobility::_M_values
std::vector< Real > _M_values
raw tensor values as passed in from the input file
Definition: ConstantAnisotropicMobility.h:33