19 template <
bool is_nodal>
21 typename std::conditional<is_nodal, NodalUserObject, ElementUserObject>::type;
29 template <
bool is_nodal>
38 virtual void execute()
override;
95 std::vector<const VariableValue *>
_el;
110 std::unordered_map<dof_id_type, Data>
_data;
119 std::vector<MooseWritableVariable *>
_ph;
122 std::vector<MooseWritableVariable *>
_sp;
125 std::vector<MooseWritableVariable *>
_vp;
131 std::vector<MooseWritableVariable *>
_el_ph;
OutputMassUnit
Mass unit for output species.
std::vector< double > _element_potential
static InputParameters validParams()
const std::vector< std::pair< std::string, std::string > > & _species_phase_pairs
const Data & getElementData(dof_id_type id) const
const std::size_t _n_elements
const bool _output_element_phases
enum ThermochimicaDataBase::ReinitializationType _reinit
const Data & getNodalData(dof_id_type id) const
std::vector< int > _assemblage
void reinitDataMooseFromTc()
Function to get re-initialization data from Thermochimica and save it in member variables of this Use...
typename std::conditional< is_nodal, NodalUserObject, ElementUserObject >::type ThermochimicaDataBaseParent
User object that performs a Gibbs energy minimization at each node by calling the Thermochimica code...
const bool _output_vapor_pressures
ThermochimicaDataBase(const InputParameters ¶meters)
std::vector< MooseWritableVariable * > _el_pot
Writable chemical potential variables for each element.
void reinitDataMooseToTc()
Function to load re-initialization data saved in this UserObject back into Thermochimica.
std::vector< double > _mol_fraction
virtual void initialize() override
std::vector< double > _chemical_potential
enum ThermochimicaDataBase::OutputMassUnit _output_mass_unit
int _socket
communication socket
const std::vector< std::string > & _ph_names
std::vector< unsigned int > _el_ids
virtual void threadJoin(const UserObject &) override
std::vector< MooseWritableVariable * > _vp
Writable vapour pressures for each element.
const std::vector< std::pair< std::string, std::string > > & _phase_element_pairs
const std::vector< std::string > & _element_potentials
const bool _output_element_potentials
Element chemical potential output.
const std::size_t _n_phases
const std::size_t _n_vapor_species
std::vector< const VariableValue * > _el
virtual void finalize() override
const Data & getData(dof_id_type id) const
const std::size_t _n_potentials
const std::size_t _n_species
std::vector< double > _moles_phase
const ChemicalCompositionAction & _action
dof_id_type * _shared_dofid_mem
shared memory pointer for dof_id_type values
OutputTools< Real >::VariableValue VariableValue
Real * _shared_real_mem
shared memory pointer for Real values
virtual void execute() override
ThermochimicaDataBase< false > ThermochimicaElementData
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
std::vector< MooseWritableVariable * > _sp
Writable species amount variables.
const VariableValue & _temperature
const VariableValue & _pressure
const std::size_t _n_phase_elements
std::vector< MooseWritableVariable * > _el_ph
Writable variable for molar amounts of each element in specified phase.
void expect(T expect_msg)
std::unordered_map< dof_id_type, Data > _data
Nodal data (Used only for reinitialization)
The ChemicalCompositionAction sets up user objects, aux kernels, and aux variables for a thermochemis...
std::vector< int > _elements_used
ThermochimicaDataBase< true > ThermochimicaNodalData
const std::vector< std::pair< std::string, std::string > > & _vapor_phase_pairs
std::vector< MooseWritableVariable * > _ph
Writable phase amount variables.