www.mooseframework.org
VoronoiICAux.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 "VoronoiICAux.h"
11 
12 registerMooseObject("PhaseFieldTestApp", VoronoiICAux);
13 
16 {
18  params.addRequiredParam<UserObjectName>("polycrystal_ic_uo", "Optional: Polycrystal IC object");
19  return params;
20 }
21 
23  : AuxKernel(parameters),
24  _poly_ic_uo(getUserObject<PolycrystalUserObjectBase>("polycrystal_ic_uo"))
25 {
26  if (isNodal())
27  mooseError("This AuxKernel only supports Elemental fields");
28 }
29 
30 Real
32 {
34 
35  if (_grain_ids.empty())
36  return 0;
37  else
38  return _grain_ids[0];
39 }
This object provides the base capability for creating proper polycrystal ICs.
registerMooseObject("PhaseFieldTestApp", VoronoiICAux)
const PolycrystalUserObjectBase & _poly_ic_uo
Definition: VoronoiICAux.h:30
void addRequiredParam(const std::string &name, const std::string &doc_string)
static InputParameters validParams()
Definition: VoronoiICAux.C:15
virtual void getGrainsBasedOnElem(const Elem &elem, std::vector< unsigned int > &grains) const
This method may be defined in addition to the point based initialization to speed up lookups...
std::vector< unsigned int > _grain_ids
Definition: VoronoiICAux.h:32
virtual Real computeValue()
Definition: VoronoiICAux.C:31
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
void mooseError(Args &&... args) const
const Elem *const & _current_elem
static InputParameters validParams()
VoronoiICAux(const InputParameters &parameters)
Definition: VoronoiICAux.C:22
Visualize the location of grain boundaries in a polycrystalline simulation.
Definition: VoronoiICAux.h:20