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 <DiscreteNucleationFromFile.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 | |
DiscreteNucleationFromFile (const InputParameters ¶meters) | |
void | initialize () override |
void | execute () override |
void | threadJoin (const UserObject &) override |
void | finalize () override |
const Real & | getRate () const override |
virtual bool | isMapUpdateRequired () const |
virtual const NucleusList & | getNucleusList () const |
virtual const NucleusChanges & | getInsertionsAndDeletions () const |
Protected Attributes | |
const Real | _hold_time |
Duration of time each nucleus is kept active after insertion. More... | |
MooseUtils::DelimitedFileReader | _reader |
CSV file to read. More... | |
NucleusList | _nucleation_history |
Total nucleation history read from file. More... | |
std::size_t | _history_pointer |
pointer to the next nucleation event in the history More... | |
const Real | _tol |
tolerance for determining insertion time More... | |
const Real | _nucleation_rate |
total nucleation rate More... | |
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 26 of file DiscreteNucleationFromFile.h.
|
inherited |
Definition at line 37 of file DiscreteNucleationInserterBase.h.
|
inherited |
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.
|
inherited |
A nucleus has an expiration time and a location.
Definition at line 31 of file DiscreteNucleationInserterBase.h.
DiscreteNucleationFromFile::DiscreteNucleationFromFile | ( | const InputParameters & | parameters | ) |
Definition at line 32 of file DiscreteNucleationFromFile.C.
|
inlineoverride |
Definition at line 32 of file DiscreteNucleationFromFile.h.
|
override |
Definition at line 136 of file DiscreteNucleationFromFile.C.
|
inlinevirtualinherited |
Definition at line 41 of file DiscreteNucleationInserterBase.h.
Referenced by DiscreteNucleationData::getValue().
|
inlinevirtualinherited |
Definition at line 40 of file DiscreteNucleationInserterBase.h.
|
inlineoverridevirtual |
Implements DiscreteNucleationInserterBase.
Definition at line 36 of file DiscreteNucleationFromFile.h.
|
override |
Definition at line 100 of file DiscreteNucleationFromFile.C.
|
inlinevirtualinherited |
Definition at line 39 of file DiscreteNucleationInserterBase.h.
Referenced by DiscreteNucleationData::getValue(), and DiscreteNucleationMap::initialize().
|
inlineoverride |
Definition at line 33 of file DiscreteNucleationFromFile.h.
|
protectedinherited |
count the number of nucleus insertions and deletions
Definition at line 50 of file DiscreteNucleationInserterBase.h.
Referenced by DiscreteNucleationInserter::execute(), DiscreteNucleationInserter::finalize(), finalize(), DiscreteNucleationInserterBase::getInsertionsAndDeletions(), DiscreteNucleationInserter::initialize(), initialize(), and DiscreteNucleationInserter::threadJoin().
|
protectedinherited |
the global list of all nuclei over all processors
Definition at line 47 of file DiscreteNucleationInserterBase.h.
Referenced by DiscreteNucleationInserter::finalize(), DiscreteNucleationInserterBase::getNucleusList(), DiscreteNucleationInserter::initialize(), initialize(), and DiscreteNucleationInserter::threadJoin().
|
protected |
pointer to the next nucleation event in the history
Definition at line 49 of file DiscreteNucleationFromFile.h.
Referenced by initialize().
|
protected |
Duration of time each nucleus is kept active after insertion.
Definition at line 40 of file DiscreteNucleationFromFile.h.
Referenced by initialize().
|
protected |
Total nucleation history read from file.
Definition at line 46 of file DiscreteNucleationFromFile.h.
Referenced by DiscreteNucleationFromFile(), and initialize().
|
protected |
total nucleation rate
Definition at line 55 of file DiscreteNucleationFromFile.h.
Referenced by getRate().
|
protected |
CSV file to read.
Definition at line 43 of file DiscreteNucleationFromFile.h.
Referenced by DiscreteNucleationFromFile().
|
protected |
tolerance for determining insertion time
Definition at line 52 of file DiscreteNucleationFromFile.h.
Referenced by initialize().
|
protectedinherited |
is a map update required
Definition at line 53 of file DiscreteNucleationInserterBase.h.
Referenced by DiscreteNucleationInserter::finalize(), finalize(), and DiscreteNucleationInserterBase::isMapUpdateRequired().