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
19 class PolycrystalVoronoi;
20 
21 template <>
23 
29 {
30 public:
31  PolycrystalVoronoiVoidIC(const InputParameters & parameters);
32 
33  virtual void initialSetup() override;
34 
35  static InputParameters actionParameters();
36 
37 protected:
38  const MooseEnum _structure_type;
39 
40  const unsigned int _op_num;
41  const unsigned int _op_index;
42 
43  const bool _columnar_3D;
44 
46 
47  const FileName _file_name;
48 
49  virtual void computeCircleCenters() override;
50 
51  virtual Real value(const Point & p) override;
52  virtual RealGradient gradient(const Point & p) override;
53 
54  unsigned int _grain_num;
55  std::vector<Point> _centerpoints;
56 
59  {
60  Real d;
61  unsigned int gr;
62  };
63 
66  {
67  bool operator()(const DistancePoint & a, const DistancePoint & b) { return a.d < b.d; }
68  } _customLess;
69 };
PolycrystalVoronoiVoidIC::DistancePoint::gr
unsigned int gr
Definition: PolycrystalVoronoiVoidIC.h:61
GrainTrackerInterface
This class defines the interface for the GrainTracking objects.
Definition: GrainTrackerInterface.h:24
PolycrystalVoronoiVoidIC::DistancePointComparator
Sorts the temp_centerpoints into order of magnitude.
Definition: PolycrystalVoronoiVoidIC.h:65
PolycrystalVoronoiVoidIC::gradient
virtual RealGradient gradient(const Point &p) override
Definition: PolycrystalVoronoiVoidIC.C:239
libMesh::RealGradient
VectorValue< Real > RealGradient
Definition: GrainForceAndTorqueInterface.h:17
PolycrystalVoronoiVoidIC::actionParameters
static InputParameters actionParameters()
Definition: PolycrystalVoronoiVoidIC.C:20
PolycrystalVoronoiVoidIC::DistancePoint::d
Real d
Definition: PolycrystalVoronoiVoidIC.h:60
PolycrystalVoronoiVoidIC
PolycrystalVoronoiVoidIC initializes either grain or void values for a voronoi tesselation with voids...
Definition: PolycrystalVoronoiVoidIC.h:28
PolycrystalVoronoiVoidIC::value
virtual Real value(const Point &p) override
Definition: PolycrystalVoronoiVoidIC.C:206
PolycrystalVoronoiVoidIC::DistancePointComparator::operator()
bool operator()(const DistancePoint &a, const DistancePoint &b)
Definition: PolycrystalVoronoiVoidIC.h:67
PolycrystalVoronoiVoidIC::_op_num
const unsigned int _op_num
Definition: PolycrystalVoronoiVoidIC.h:40
PolycrystalVoronoiVoidIC::initialSetup
virtual void initialSetup() override
Definition: PolycrystalVoronoiVoidIC.C:79
validParams< PolycrystalVoronoiVoidIC >
InputParameters validParams< PolycrystalVoronoiVoidIC >()
Definition: PolycrystalVoronoiVoidIC.C:36
PolycrystalVoronoiVoidIC::computeCircleCenters
virtual void computeCircleCenters() override
Definition: PolycrystalVoronoiVoidIC.C:94
PolycrystalVoronoiVoidIC::_centerpoints
std::vector< Point > _centerpoints
Definition: PolycrystalVoronoiVoidIC.h:55
PolycrystalVoronoiVoidIC::_poly_ic_uo
const PolycrystalVoronoi & _poly_ic_uo
Definition: PolycrystalVoronoiVoidIC.h:45
PolycrystalVoronoiVoidIC::_op_index
const unsigned int _op_index
Definition: PolycrystalVoronoiVoidIC.h:41
MultiSmoothCircleIC
MultismoothCircleIC creates multiple SmoothCircles (number = numbub) that are randomly positioned aro...
Definition: MultiSmoothCircleIC.h:27
PolycrystalVoronoiVoidIC::_structure_type
const MooseEnum _structure_type
Definition: PolycrystalVoronoiVoidIC.h:38
PolycrystalVoronoi
Definition: PolycrystalVoronoi.h:20
PolycrystalVoronoiVoidIC::_customLess
struct PolycrystalVoronoiVoidIC::DistancePointComparator _customLess
PolycrystalVoronoiVoidIC::_file_name
const FileName _file_name
Definition: PolycrystalVoronoiVoidIC.h:47
MultiSmoothCircleIC.h
PolycrystalVoronoiVoidIC::_columnar_3D
const bool _columnar_3D
Definition: PolycrystalVoronoiVoidIC.h:43
PolycrystalVoronoiVoidIC::PolycrystalVoronoiVoidIC
PolycrystalVoronoiVoidIC(const InputParameters &parameters)
Definition: PolycrystalVoronoiVoidIC.C:58
PolycrystalICTools.h
PolycrystalVoronoiVoidIC::DistancePoint
Type for distance and point.
Definition: PolycrystalVoronoiVoidIC.h:58
PolycrystalVoronoiVoidIC::_grain_num
unsigned int _grain_num
Definition: PolycrystalVoronoiVoidIC.h:54