www.mooseframework.org
DiscreteNucleationInserter.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 
13 
15 
16 template <>
18 
26 {
27 public:
28  DiscreteNucleationInserter(const InputParameters & parameters);
29 
30  virtual void initialize();
31  virtual void execute();
32  virtual void threadJoin(const UserObject & y);
33  virtual void finalize();
34 
35  const Real & getRate() const { return _nucleation_rate; }
36 
37 protected:
39  const MaterialProperty<Real> & _probability;
40 
42  Real _hold_time;
43 
46 
49 };
50 
validParams< DiscreteNucleationInserter >
InputParameters validParams< DiscreteNucleationInserter >()
Definition: DiscreteNucleationInserter.C:19
DiscreteNucleationInserter::_hold_time
Real _hold_time
Duration of time each nucleus is kept active after insertion.
Definition: DiscreteNucleationInserter.h:42
DiscreteNucleationInserter
This UserObject manages the insertion and expiration of nuclei in the simulation domain it manages a ...
Definition: DiscreteNucleationInserter.h:25
DiscreteNucleationInserter::threadJoin
virtual void threadJoin(const UserObject &y)
Definition: DiscreteNucleationInserter.C:95
DiscreteNucleationInserterBase
This UserObject manages the insertion and expiration of nuclei in the simulation domain it manages a ...
Definition: DiscreteNucleationInserterBase.h:25
DiscreteNucleationInserter::getRate
const Real & getRate() const
Definition: DiscreteNucleationInserter.h:35
DiscreteNucleationInserter::_nucleation_rate
Real _nucleation_rate
total nucleation rate
Definition: DiscreteNucleationInserter.h:48
DiscreteNucleationInserter::execute
virtual void execute()
Definition: DiscreteNucleationInserter.C:70
DiscreteNucleationInserter::initialize
virtual void initialize()
Definition: DiscreteNucleationInserter.C:39
DiscreteNucleationInserterBase::NucleusList
std::vector< NucleusLocation > NucleusList
Every MPI task should keep a full list of nuclei (in case they cross domains with their finite radii)
Definition: DiscreteNucleationInserterBase.h:34
DiscreteNucleationInserter::DiscreteNucleationInserter
DiscreteNucleationInserter(const InputParameters &parameters)
Definition: DiscreteNucleationInserter.C:30
DiscreteNucleationInserter::_local_nucleus_list
NucleusList & _local_nucleus_list
the local nucleus list of nuclei centered in the domain of the current processor
Definition: DiscreteNucleationInserter.h:45
DiscreteNucleationInserter::_probability
const MaterialProperty< Real > & _probability
Nucleation rate density (should be a material property implementing nucleation theory)
Definition: DiscreteNucleationInserter.h:39
DiscreteNucleationInserter::finalize
virtual void finalize()
Definition: DiscreteNucleationInserter.C:111
DiscreteNucleationInserterBase.h