User object that performs a Gibbs energy minimization at each node by calling the Thermochimica code. More...
#include <ThermochimicaData.h>
Classes | |
struct | Data |
Public Member Functions | |
ThermochimicaDataBase (const InputParameters ¶meters) | |
~ThermochimicaDataBase () | |
virtual void | initialize () override |
virtual void | execute () override |
virtual void | finalize () override |
virtual void | threadJoin (const UserObject &) override |
void | reinitDataMooseFromTc () |
Function to get re-initialization data from Thermochimica and save it in member variables of this UserObject. More... | |
void | reinitDataMooseToTc () |
Function to load re-initialization data saved in this UserObject back into Thermochimica. More... | |
const Data & | getNodalData (dof_id_type id) const |
const Data & | getElementData (dof_id_type id) const |
const Data & | getData (dof_id_type id) const |
Static Public Member Functions | |
static InputParameters | validParams () |
Protected Types | |
enum | ReinitializationType { ReinitializationType::NONE, ReinitializationType::TIME, ReinitializationType::NODE } |
enum | OutputMassUnit { OutputMassUnit::MOLES, OutputMassUnit::FRACTION } |
Mass unit for output species. More... | |
Protected Member Functions | |
void | server () |
template<typename T > | |
void | expect (T expect_msg) |
template<typename T > | |
void | notify (T send_msg) |
Protected Attributes | |
const VariableValue & | _pressure |
const VariableValue & | _temperature |
const std::size_t | _n_phases |
const std::size_t | _n_species |
const std::size_t | _n_elements |
const std::size_t | _n_vapor_species |
const std::size_t | _n_phase_elements |
const std::size_t | _n_potentials |
std::vector< const VariableValue * > | _el |
const ChemicalCompositionAction & | _action |
std::vector< unsigned int > | _el_ids |
enum ThermochimicaDataBase::ReinitializationType | _reinit |
const std::vector< std::string > & | _ph_names |
const std::vector< std::string > & | _element_potentials |
const std::vector< std::pair< std::string, std::string > > & | _species_phase_pairs |
const std::vector< std::pair< std::string, std::string > > & | _vapor_phase_pairs |
const std::vector< std::pair< std::string, std::string > > & | _phase_element_pairs |
std::unordered_map< dof_id_type, Data > | _data |
Nodal data (Used only for reinitialization) More... | |
std::vector< MooseWritableVariable * > | _ph |
Writable phase amount variables. More... | |
std::vector< MooseWritableVariable * > | _sp |
Writable species amount variables. More... | |
std::vector< MooseWritableVariable * > | _vp |
Writable vapour pressures for each element. More... | |
std::vector< MooseWritableVariable * > | _el_pot |
Writable chemical potential variables for each element. More... | |
std::vector< MooseWritableVariable * > | _el_ph |
Writable variable for molar amounts of each element in specified phase. More... | |
enum ThermochimicaDataBase::OutputMassUnit | _output_mass_unit |
int | _socket |
communication socket More... | |
pid_t | _pid |
child PID More... | |
dof_id_type * | _shared_dofid_mem |
shared memory pointer for dof_id_type values More... | |
Real * | _shared_real_mem |
shared memory pointer for Real values More... | |
dof_id_type | _current_id |
const bool | _output_element_potentials |
Element chemical potential output. More... | |
const bool | _output_vapor_pressures |
const bool | _output_element_phases |
User object that performs a Gibbs energy minimization at each node by calling the Thermochimica code.
This object can only be added through the ChemicalCompositionAction which also sets up the variables for the calculation.
Definition at line 30 of file ThermochimicaData.h.
|
strongprotected |
Mass unit for output species.
Enumerator | |
---|---|
MOLES | |
FRACTION |
Definition at line 134 of file ThermochimicaData.h.
|
strongprotected |
Enumerator | |
---|---|
NONE | |
TIME | |
NODE |
Definition at line 101 of file ThermochimicaData.h.
ThermochimicaDataBase< is_nodal >::ThermochimicaDataBase | ( | const InputParameters & | parameters | ) |
Definition at line 77 of file ThermochimicaData.C.
ThermochimicaDataBase< is_nodal >::~ThermochimicaDataBase | ( | ) |
Definition at line 230 of file ThermochimicaData.C.
|
overridevirtual |
Definition at line 269 of file ThermochimicaData.C.
|
protected |
Definition at line 245 of file ThermochimicaData.C.
|
inlineoverridevirtual |
Definition at line 39 of file ThermochimicaData.h.
const ThermochimicaDataBase< is_nodal >::Data & ThermochimicaDataBase< is_nodal >::getData | ( | dof_id_type | id | ) | const |
Definition at line 607 of file ThermochimicaData.C.
const ThermochimicaDataBase< is_nodal >::Data & ThermochimicaDataBase< is_nodal >::getElementData | ( | dof_id_type | id | ) | const |
Definition at line 598 of file ThermochimicaData.C.
const ThermochimicaDataBase< is_nodal >::Data & ThermochimicaDataBase< is_nodal >::getNodalData | ( | dof_id_type | id | ) | const |
Definition at line 589 of file ThermochimicaData.C.
|
overridevirtual |
Definition at line 238 of file ThermochimicaData.C.
|
protected |
Definition at line 261 of file ThermochimicaData.C.
void ThermochimicaDataBase< is_nodal >::reinitDataMooseFromTc | ( | ) |
Function to get re-initialization data from Thermochimica and save it in member variables of this UserObject.
Definition at line 525 of file ThermochimicaData.C.
void ThermochimicaDataBase< is_nodal >::reinitDataMooseToTc | ( | ) |
Function to load re-initialization data saved in this UserObject back into Thermochimica.
Definition at line 551 of file ThermochimicaData.C.
|
protected |
Definition at line 318 of file ThermochimicaData.C.
Referenced by ThermochimicaDataBase< is_nodal >::ThermochimicaDataBase().
|
inlineoverridevirtual |
Definition at line 40 of file ThermochimicaData.h.
|
static |
Definition at line 31 of file ThermochimicaData.C.
|
protected |
Definition at line 97 of file ThermochimicaData.h.
|
protected |
Definition at line 149 of file ThermochimicaData.h.
|
protected |
Nodal data (Used only for reinitialization)
Definition at line 110 of file ThermochimicaData.h.
|
protected |
Definition at line 95 of file ThermochimicaData.h.
Referenced by ThermochimicaDataBase< is_nodal >::ThermochimicaDataBase().
|
protected |
Definition at line 98 of file ThermochimicaData.h.
Referenced by ThermochimicaDataBase< is_nodal >::ThermochimicaDataBase().
|
protected |
Writable variable for molar amounts of each element in specified phase.
Definition at line 131 of file ThermochimicaData.h.
Referenced by ThermochimicaDataBase< is_nodal >::ThermochimicaDataBase().
|
protected |
Writable chemical potential variables for each element.
Definition at line 128 of file ThermochimicaData.h.
Referenced by ThermochimicaDataBase< is_nodal >::ThermochimicaDataBase().
|
protected |
Definition at line 104 of file ThermochimicaData.h.
Referenced by ThermochimicaDataBase< is_nodal >::ThermochimicaDataBase().
|
protected |
Definition at line 90 of file ThermochimicaData.h.
Referenced by ThermochimicaDataBase< is_nodal >::ThermochimicaDataBase().
|
protected |
Definition at line 92 of file ThermochimicaData.h.
Referenced by ThermochimicaDataBase< is_nodal >::ThermochimicaDataBase().
|
protected |
Definition at line 88 of file ThermochimicaData.h.
Referenced by ThermochimicaDataBase< is_nodal >::ThermochimicaDataBase().
|
protected |
Definition at line 93 of file ThermochimicaData.h.
Referenced by ThermochimicaDataBase< is_nodal >::ThermochimicaDataBase().
|
protected |
Definition at line 89 of file ThermochimicaData.h.
Referenced by ThermochimicaDataBase< is_nodal >::ThermochimicaDataBase().
|
protected |
Definition at line 91 of file ThermochimicaData.h.
Referenced by ThermochimicaDataBase< is_nodal >::ThermochimicaDataBase().
|
protected |
Definition at line 115 of file ThermochimicaData.h.
|
protected |
Element chemical potential output.
Definition at line 113 of file ThermochimicaData.h.
|
protected |
|
protected |
Definition at line 114 of file ThermochimicaData.h.
|
protected |
Writable phase amount variables.
Definition at line 119 of file ThermochimicaData.h.
Referenced by ThermochimicaDataBase< is_nodal >::ThermochimicaDataBase().
|
protected |
Definition at line 103 of file ThermochimicaData.h.
Referenced by ThermochimicaDataBase< is_nodal >::ThermochimicaDataBase().
|
protected |
Definition at line 107 of file ThermochimicaData.h.
Referenced by ThermochimicaDataBase< is_nodal >::ThermochimicaDataBase().
|
protected |
child PID
Definition at line 140 of file ThermochimicaData.h.
Referenced by ThermochimicaDataBase< is_nodal >::ThermochimicaDataBase().
|
protected |
Definition at line 85 of file ThermochimicaData.h.
|
protected |
|
protected |
shared memory pointer for dof_id_type values
Definition at line 143 of file ThermochimicaData.h.
Referenced by ThermochimicaDataBase< is_nodal >::ThermochimicaDataBase().
|
protected |
shared memory pointer for Real values
Definition at line 146 of file ThermochimicaData.h.
Referenced by ThermochimicaDataBase< is_nodal >::ThermochimicaDataBase().
|
protected |
communication socket
Definition at line 137 of file ThermochimicaData.h.
Referenced by ThermochimicaDataBase< is_nodal >::ThermochimicaDataBase().
|
protected |
Writable species amount variables.
Definition at line 122 of file ThermochimicaData.h.
Referenced by ThermochimicaDataBase< is_nodal >::ThermochimicaDataBase().
|
protected |
Definition at line 105 of file ThermochimicaData.h.
Referenced by ThermochimicaDataBase< is_nodal >::ThermochimicaDataBase().
|
protected |
Definition at line 86 of file ThermochimicaData.h.
|
protected |
Definition at line 106 of file ThermochimicaData.h.
Referenced by ThermochimicaDataBase< is_nodal >::ThermochimicaDataBase().
|
protected |
Writable vapour pressures for each element.
Definition at line 125 of file ThermochimicaData.h.
Referenced by ThermochimicaDataBase< is_nodal >::ThermochimicaDataBase().