www.mooseframework.org
EBSDReaderPointDataAux.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 
10 #include "EBSDReaderPointDataAux.h"
11 
13 
14 template <>
15 InputParameters
17 {
18  InputParameters params = validParams<AuxKernel>();
19  params.addRequiredParam<UserObjectName>("ebsd_reader", "The EBSDReader GeneralUserObject");
20  MooseEnum field_types = EBSDAccessFunctors::getPointDataFieldType();
21  params.addRequiredParam<MooseEnum>(
22  "data_name", field_types, "The data to be extracted from the EBSD data by this AuxKernel");
23  return params;
24 }
25 
26 EBSDReaderPointDataAux::EBSDReaderPointDataAux(const InputParameters & parameters)
27  : AuxKernel(parameters),
28  _ebsd_reader(getUserObject<EBSDReader>("ebsd_reader")),
29  _data_name(getParam<MooseEnum>("data_name")),
30  _val(_ebsd_reader.getPointDataAccessFunctor(_data_name))
31 {
32 }
33 
34 void
36 {
37  // EBSD data is defined at element centroids, so this only makes
38  // sense as an Element AuxKernel
39  Point p = _current_elem->centroid();
40 
41  _value = (*_val)(_ebsd_reader.getData(p));
42 }
43 
44 Real
46 {
47  return _value;
48 }
validParams< EBSDReaderPointDataAux >
InputParameters validParams< EBSDReaderPointDataAux >()
Definition: EBSDReaderPointDataAux.C:16
EBSDReaderPointDataAux::EBSDReaderPointDataAux
EBSDReaderPointDataAux(const InputParameters &parameters)
Definition: EBSDReaderPointDataAux.C:26
registerMooseObject
registerMooseObject("PhaseFieldApp", EBSDReaderPointDataAux)
EBSDReaderPointDataAux::computeValue
virtual Real computeValue()
Definition: EBSDReaderPointDataAux.C:45
EBSDReader
A GeneralUserObject that reads an EBSD file and stores the centroid data in a data structure which in...
Definition: EBSDReader.h:36
EBSDReaderPointDataAux
This kernel makes data from the EBSDReader GeneralUserObject available as AuxVariables.
Definition: EBSDReaderPointDataAux.h:25
EBSDReaderPointDataAux::precalculateValue
virtual void precalculateValue()
Definition: EBSDReaderPointDataAux.C:35
EBSDReaderPointDataAux.h
EBSDReaderPointDataAux::_ebsd_reader
const EBSDReader & _ebsd_reader
Definition: EBSDReaderPointDataAux.h:34
EBSDAccessFunctors::getPointDataFieldType
static MooseEnum getPointDataFieldType()
Definition: EBSDAccessFunctors.C:13
EBSDReaderPointDataAux::_value
Real _value
precalculated element value
Definition: EBSDReaderPointDataAux.h:43
EBSDReader::getData
const EBSDPointData & getData(const Point &p) const
Get the requested type of data at the point p.
Definition: EBSDReader.C:345