This UserObject maintains a per QP map that indicates if a nucleus is present or not. More...
#include <DiscreteNucleationMap.h>
Public Member Functions | |
DiscreteNucleationMap (const InputParameters ¶meters) | |
virtual void | initialize () |
virtual void | execute () |
virtual void | threadJoin (const UserObject &y) |
virtual void | finalize () |
virtual void | meshChanged () |
const std::vector< Real > & | nuclei (const Elem *) const |
const DiscreteNucleationInserterBase & | getInserter () const |
std::pair< Real, Real > | getRadiusAndWidth () const |
Real | getPeriodic () const |
Protected Attributes | |
bool | _mesh_changed |
Did the mesh change since the last execution of this PP? More... | |
bool | _rebuild_map |
Do we need to rebuild the map during this timestep? More... | |
std::vector< Real > | _elem_map |
Buffer for building the per QP map. More... | |
std::vector< Real > | _zero_map |
Dummy map for elements without nuclei. More... | |
const DiscreteNucleationInserterBase & | _inserter |
UserObject that manages nucleus insertin and deletion. More... | |
int | _periodic |
variable number to use for minPeriodicDistance calls (i.e. use the periodicity of this variable) More... | |
const Real | _radius |
Nucleus radius. More... | |
const Real | _int_width |
Nucleus interface width. More... | |
const DiscreteNucleationInserterBase::NucleusList & | _nucleus_list |
list of nuclei maintained bu the inserter object More... | |
using | NucleusMap = std::unordered_map< dof_id_type, std::vector< Real > > |
Per element list with 0/1 flags indicating the presence of a nucleus. More... | |
NucleusMap | _nucleus_map |
This UserObject maintains a per QP map that indicates if a nucleus is present or not.
It effectively performs a spatial hashing of the list maintained by the DiscreteNucleationInserter (and allows for spatially extended nuclei)
Definition at line 26 of file DiscreteNucleationMap.h.
|
protected |
Per element list with 0/1 flags indicating the presence of a nucleus.
Definition at line 73 of file DiscreteNucleationMap.h.
DiscreteNucleationMap::DiscreteNucleationMap | ( | const InputParameters & | parameters | ) |
Definition at line 36 of file DiscreteNucleationMap.C.
|
virtual |
Definition at line 63 of file DiscreteNucleationMap.C.
|
inlinevirtual |
Definition at line 34 of file DiscreteNucleationMap.h.
|
inline |
Definition at line 40 of file DiscreteNucleationMap.h.
|
inline |
Definition at line 42 of file DiscreteNucleationMap.h.
|
inline |
Definition at line 41 of file DiscreteNucleationMap.h.
|
virtual |
Definition at line 49 of file DiscreteNucleationMap.C.
|
virtual |
Definition at line 122 of file DiscreteNucleationMap.C.
const std::vector< Real > & DiscreteNucleationMap::nuclei | ( | const Elem * | elem | ) | const |
Definition at line 128 of file DiscreteNucleationMap.C.
Referenced by DiscreteNucleation::computeProperties(), DiscreteNucleationForce::precalculateResidual(), and DiscreteNucleationAux::precalculateValue().
|
virtual |
Definition at line 111 of file DiscreteNucleationMap.C.
|
protected |
Buffer for building the per QP map.
Definition at line 52 of file DiscreteNucleationMap.h.
Referenced by execute().
|
protected |
UserObject that manages nucleus insertin and deletion.
Definition at line 58 of file DiscreteNucleationMap.h.
Referenced by getInserter(), and initialize().
|
protected |
Nucleus interface width.
Definition at line 67 of file DiscreteNucleationMap.h.
Referenced by execute(), and getRadiusAndWidth().
|
protected |
Did the mesh change since the last execution of this PP?
Definition at line 46 of file DiscreteNucleationMap.h.
Referenced by initialize(), and meshChanged().
|
protected |
list of nuclei maintained bu the inserter object
Definition at line 70 of file DiscreteNucleationMap.h.
Referenced by execute().
|
protected |
Definition at line 74 of file DiscreteNucleationMap.h.
Referenced by execute(), initialize(), nuclei(), and threadJoin().
|
protected |
variable number to use for minPeriodicDistance calls (i.e. use the periodicity of this variable)
Definition at line 61 of file DiscreteNucleationMap.h.
Referenced by execute(), and getPeriodic().
|
protected |
Nucleus radius.
Definition at line 64 of file DiscreteNucleationMap.h.
Referenced by execute(), and getRadiusAndWidth().
|
protected |
Do we need to rebuild the map during this timestep?
Definition at line 49 of file DiscreteNucleationMap.h.
Referenced by execute(), initialize(), and threadJoin().
|
protected |
Dummy map for elements without nuclei.
Definition at line 55 of file DiscreteNucleationMap.h.
Referenced by DiscreteNucleationMap(), and nuclei().