www.mooseframework.org
DiscreteNucleationFromFile.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 #include "DelimitedFileReader.h"
14 
16 
17 template <>
19 
27 {
28 public:
29  DiscreteNucleationFromFile(const InputParameters & parameters);
30 
31  void initialize() override;
32  void execute() override {}
33  void threadJoin(const UserObject &) override {}
34  void finalize() override;
35 
36  const Real & getRate() const override { return _nucleation_rate; }
37 
38 protected:
40  const Real _hold_time;
41 
43  MooseUtils::DelimitedFileReader _reader;
44 
47 
49  std::size_t _history_pointer;
50 
52  const Real _tol;
53 
55  const Real _nucleation_rate;
56 };
57 
DiscreteNucleationFromFile::getRate
const Real & getRate() const override
Definition: DiscreteNucleationFromFile.h:36
DiscreteNucleationFromFile::finalize
void finalize() override
Definition: DiscreteNucleationFromFile.C:136
DiscreteNucleationFromFile::_hold_time
const Real _hold_time
Duration of time each nucleus is kept active after insertion.
Definition: DiscreteNucleationFromFile.h:40
DiscreteNucleationFromFile::_history_pointer
std::size_t _history_pointer
pointer to the next nucleation event in the history
Definition: DiscreteNucleationFromFile.h:49
DiscreteNucleationFromFile::_nucleation_history
NucleusList _nucleation_history
Total nucleation history read from file.
Definition: DiscreteNucleationFromFile.h:46
DiscreteNucleationInserterBase
This UserObject manages the insertion and expiration of nuclei in the simulation domain it manages a ...
Definition: DiscreteNucleationInserterBase.h:25
DiscreteNucleationFromFile::_nucleation_rate
const Real _nucleation_rate
total nucleation rate
Definition: DiscreteNucleationFromFile.h:55
DiscreteNucleationFromFile
This UserObject manages the insertion and expiration of nuclei in the simulation domain it manages a ...
Definition: DiscreteNucleationFromFile.h:26
DiscreteNucleationFromFile::_reader
MooseUtils::DelimitedFileReader _reader
CSV file to read.
Definition: DiscreteNucleationFromFile.h:43
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
DiscreteNucleationFromFile::DiscreteNucleationFromFile
DiscreteNucleationFromFile(const InputParameters &parameters)
Definition: DiscreteNucleationFromFile.C:32
DiscreteNucleationFromFile::execute
void execute() override
Definition: DiscreteNucleationFromFile.h:32
DiscreteNucleationFromFile::threadJoin
void threadJoin(const UserObject &) override
Definition: DiscreteNucleationFromFile.h:33
DiscreteNucleationFromFile::_tol
const Real _tol
tolerance for determining insertion time
Definition: DiscreteNucleationFromFile.h:52
DiscreteNucleationFromFile::initialize
void initialize() override
Definition: DiscreteNucleationFromFile.C:100
validParams< DiscreteNucleationFromFile >
InputParameters validParams< DiscreteNucleationFromFile >()
Definition: DiscreteNucleationFromFile.C:19
DiscreteNucleationInserterBase.h