This UserObject manages the insertion and expiration of nuclei in the simulation domain it manages a list of nuclei with their insertion times and their center positions. More...
#include <DiscreteNucleationInserterBase.h>
Public Types | |
using | NucleusLocation = std::pair< Real, Point > |
A nucleus has an expiration time and a location. More... | |
using | NucleusList = std::vector< NucleusLocation > |
Every MPI task should keep a full list of nuclei (in case they cross domains with their finite radii) More... | |
using | NucleusChanges = std::pair< unsigned int, unsigned int > |
Public Member Functions | |
DiscreteNucleationInserterBase (const InputParameters ¶meters) | |
virtual bool | isMapUpdateRequired () const |
virtual const NucleusList & | getNucleusList () const |
virtual const NucleusChanges & | getInsertionsAndDeletions () const |
virtual const Real & | getRate () const =0 |
Protected Attributes | |
NucleusList & | _global_nucleus_list |
the global list of all nuclei over all processors More... | |
NucleusChanges | _changes_made |
count the number of nucleus insertions and deletions More... | |
bool | _update_required |
is a map update required More... | |
This UserObject manages the insertion and expiration of nuclei in the simulation domain it manages a list of nuclei with their insertion times and their center positions.
A DiscreteNucleationMap is needed to enable the DiscreteNucleation material to look up if a nucleus is present at a given element/qp.
Definition at line 25 of file DiscreteNucleationInserterBase.h.
using DiscreteNucleationInserterBase::NucleusChanges = std::pair<unsigned int, unsigned int> |
Definition at line 37 of file DiscreteNucleationInserterBase.h.
using DiscreteNucleationInserterBase::NucleusList = std::vector<NucleusLocation> |
Every MPI task should keep a full list of nuclei (in case they cross domains with their finite radii)
Definition at line 34 of file DiscreteNucleationInserterBase.h.
using DiscreteNucleationInserterBase::NucleusLocation = std::pair<Real, Point> |
A nucleus has an expiration time and a location.
Definition at line 31 of file DiscreteNucleationInserterBase.h.
DiscreteNucleationInserterBase::DiscreteNucleationInserterBase | ( | const InputParameters & | parameters | ) |
Definition at line 21 of file DiscreteNucleationInserterBase.C.
|
inlinevirtual |
Definition at line 41 of file DiscreteNucleationInserterBase.h.
Referenced by DiscreteNucleationData::getValue().
|
inlinevirtual |
Definition at line 40 of file DiscreteNucleationInserterBase.h.
|
pure virtual |
Implemented in DiscreteNucleationFromFile, and DiscreteNucleationInserter.
Referenced by DiscreteNucleationData::getValue().
|
inlinevirtual |
Definition at line 39 of file DiscreteNucleationInserterBase.h.
Referenced by DiscreteNucleationData::getValue(), and DiscreteNucleationMap::initialize().
|
protected |
count the number of nucleus insertions and deletions
Definition at line 50 of file DiscreteNucleationInserterBase.h.
Referenced by DiscreteNucleationInserter::execute(), DiscreteNucleationInserter::finalize(), DiscreteNucleationFromFile::finalize(), getInsertionsAndDeletions(), DiscreteNucleationInserter::initialize(), DiscreteNucleationFromFile::initialize(), and DiscreteNucleationInserter::threadJoin().
|
protected |
the global list of all nuclei over all processors
Definition at line 47 of file DiscreteNucleationInserterBase.h.
Referenced by DiscreteNucleationInserter::finalize(), getNucleusList(), DiscreteNucleationInserter::initialize(), DiscreteNucleationFromFile::initialize(), and DiscreteNucleationInserter::threadJoin().
|
protected |
is a map update required
Definition at line 53 of file DiscreteNucleationInserterBase.h.
Referenced by DiscreteNucleationInserter::finalize(), DiscreteNucleationFromFile::finalize(), and isMapUpdateRequired().