https://mooseframework.inl.gov
Loading...
Searching...
No Matches
DiscreteNucleationInserter.h
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
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
21{
22public:
24
26
27 virtual void initialize();
28 virtual void execute();
29 virtual void threadJoin(const UserObject & y);
30 virtual void finalize();
31
32 const Real & getRate() const { return _nucleation_rate; }
33
34protected:
36 virtual void addNucleus(unsigned int & qp);
37
40
43
46
52
55
57 const bool _time_dep_stats;
58};
const std::vector< double > y
This UserObject manages the insertion and expiration of nuclei in the simulation domain it manages a ...
std::vector< NucleusLocation > NucleusList
Every MPI task should keep a full list of nuclei (in case they cross domains with their finite radii)
This UserObject manages the insertion and expiration of nuclei in the simulation domain it manages a ...
const MaterialProperty< Real > & _local_radius
store the local nucleus radius
Real _hold_time
Duration of time each nucleus is kept active after insertion.
static InputParameters validParams()
const MaterialProperty< Real > & _probability
Nucleation rate density (should be a material property implementing nucleation theory)
const bool _time_dep_stats
indicates whether time-dependent statistics are used or not
virtual void threadJoin(const UserObject &y)
virtual void addNucleus(unsigned int &qp)
Adds a nucleus to the list containing nucleus information.
NucleusList & _local_nucleus_list
the local nucleus list of nuclei centered in the domain of the current processor
Real _nucleation_rate
Total nucleation rate.
const InputParameters & parameters() const