www.mooseframework.org
PolycrystalVoronoiVoidIC.h
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 #pragma once
11 
12 #include "MultiSmoothCircleIC.h"
13 #include "MooseRandom.h"
14 #include "PolycrystalICTools.h"
15 
16 // Forward Declarationsc
18 class PolycrystalVoronoi;
19 
25 {
26 public:
28 
30 
31  virtual void initialSetup() override;
32 
34 
35 protected:
37 
38  const unsigned int _op_num;
39  const unsigned int _op_index;
40 
41  const bool _columnar_3D;
42 
44 
45  const FileName _file_name;
46 
47  virtual void computeCircleCenters() override;
48 
49  virtual Real value(const Point & p) override;
50  virtual RealGradient gradient(const Point & p) override;
51 
52  unsigned int _grain_num;
53  std::vector<Point> _centerpoints;
54 
57  {
59  unsigned int gr;
60  };
61 
64  {
65  bool operator()(const DistancePoint & a, const DistancePoint & b) { return a.d < b.d; }
66  } _customLess;
67 };
This class defines the interface for the GrainTracking objects.
Sorts the temp_centerpoints into order of magnitude.
struct PolycrystalVoronoiVoidIC::DistancePointComparator _customLess
const PolycrystalVoronoi & _poly_ic_uo
std::vector< Point > _centerpoints
PolycrystalVoronoiVoidIC initializes either grain or void values for a voronoi tesselation with voids...
virtual Real value(const Point &p) override
bool operator()(const DistancePoint &a, const DistancePoint &b)
static InputParameters validParams()
PolycrystalVoronoiVoidIC(const InputParameters &parameters)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const InputParameters & parameters() const
virtual RealGradient gradient(const Point &p) override
static InputParameters actionParameters()
virtual void computeCircleCenters() override
MultismoothCircleIC creates multiple SmoothCircles (number = numbub) that are randomly positioned aro...
virtual void initialSetup() override