- active__all__ If specified only the blocks named will be visited and made active
Default:__all__
C++ Type:std::vector<std::string>
Controllable:No
Description:If specified only the blocks named will be visited and made active
- blockThe list of blocks (ids or names) that this object will be applied
C++ Type:std::vector<SubdomainName>
Controllable:No
Description:The list of blocks (ids or names) that this object will be applied
- elementsALL List of chemical elements (or ALL)
Default:ALL
C++ Type:std::vector<std::string>
Controllable:No
Description:List of chemical elements (or ALL)
- execute_onINITIAL TIMESTEP_ENDWhen to execute the ThermochimicaData UO
Default:INITIAL TIMESTEP_END
C++ Type:ExecFlagEnum
Controllable:No
Description:When to execute the ThermochimicaData UO
- inactiveIf specified blocks matching these identifiers will be skipped.
C++ Type:std::vector<std::string>
Controllable:No
Description:If specified blocks matching these identifiers will be skipped.
- initial_valuesThe CSV file name with initial conditions.
C++ Type:FileName
Controllable:No
Description:The CSV file name with initial conditions.
- is_fvFalseShould the variables set up by action be of FV type
Default:False
C++ Type:bool
Controllable:No
Description:Should the variables set up by action be of FV type
- munitMass Unit
C++ Type:MooseEnum
Controllable:No
Description:Mass Unit
- output_element_phasesList of elements whose molar amounts in specific phases are requested
C++ Type:std::vector<std::string>
Controllable:No
Description:List of elements whose molar amounts in specific phases are requested
- output_element_potentialsList of chemical elements for which chemical potentials are requested
C++ Type:std::vector<std::string>
Controllable:No
Description:List of chemical elements for which chemical potentials are requested
- output_phasesList of phases to be output
C++ Type:std::vector<std::string>
Controllable:No
Description:List of phases to be output
- output_speciesList species for which concentration in the phases is needed
C++ Type:std::vector<std::string>
Controllable:No
Description:List species for which concentration in the phases is needed
- output_species_unitMass unit for output species: mole_fractions or moles
C++ Type:MooseEnum
Controllable:No
Description:Mass unit for output species: mole_fractions or moles
- output_vapor_pressuresList of gas phase species for which vapor pressures are requested
C++ Type:std::vector<std::string>
Controllable:No
Description:List of gas phase species for which vapor pressures are requested
- pressureName of pressure variable
C++ Type:std::vector<VariableName>
Unit:(no unit assumed)
Controllable:No
Description:Name of pressure variable
- punitPressure Unit
C++ Type:MooseEnum
Controllable:No
Description:Pressure Unit
- reinitialization_typenodalReinitialization scheme to use with Thermochimica
Default:nodal
C++ Type:MooseEnum
Controllable:No
Description:Reinitialization scheme to use with Thermochimica
- temperatureName of temperature variable
C++ Type:std::vector<VariableName>
Unit:(no unit assumed)
Controllable:No
Description:Name of temperature variable
- thermofileThermodynamics model file
C++ Type:FileName
Controllable:No
Description:Thermodynamics model file
- tunitTemperature Unit
C++ Type:MooseEnum
Controllable:No
Description:Temperature Unit
- uo_nameThermochimicaName of the ThermochimicaDataUserObject.
Default:Thermochimica
C++ Type:std::string
Controllable:No
Description:Name of the ThermochimicaDataUserObject.
ChemicalComposition Action System
This action is designed for use with thermochemistry library Thermochimica Piro et al. (2013). Check out the corresponding submodule by running git submodule update --init --checkout modules/chemical_reactions/contrib/thermochimica
.
Description
The ChemicalComposition
action simplifies the initialization of variables for thermochemical modeling and the thermodynamic material model. It initializes auxiliary variables based on the elements
parameter (recommended in the GlobalParameters
block). The created variables have names of chemical elements used in the model and can be passed to other objects in the simulation.
Example Input File Syntax
An example of the ChemicalComposition
block is shown in Listing 1. It will create two aux variables Mo
and Ru
, initialize their values over the entire model to values specified in file ic.csv
, and read in thermodynamic material model defined in file Kaye_NobleMetals.dat
.
Listing 1:
[GlobalParams<<<{"href": "../GlobalParams/index.html"}>>>]
elements = 'Mo Ru'
output_phases = 'BCCN HCPN'
output_species = 'BCCN:Mo HCPN:Mo BCCN:Ru HCPN:Ru'
output_element_potentials = 'mu:Mo mu:Ru'
output_vapor_pressures = 'vp:gas_ideal:Mo'
output_element_phases = 'ep:BCCN:Mo'
[]
[ChemicalComposition<<<{"href": "index.html"}>>>]
[thermo]
thermofile<<<{"description": "Thermodynamics model file"}>>> = Kaye_NobleMetals.dat
initial_values<<<{"description": "The CSV file name with initial conditions."}>>> = ic.csv
temperature<<<{"description": "Name of temperature variable"}>>> = 2250
reinitialization_type<<<{"description": "Reinitialization scheme to use with Thermochimica"}>>> = nodal
[]
[]
(modules/chemical_reactions/test/tests/thermochimica/csv_ic.i)"initial_values" can be used for initialization of the variables specified in the vector elements
of the block [GlobalParams]
. The initialization file is expected to be in comma-separated value(csv) format as shown in Listing 2. The first line of the file is ignored.
Listing 2: Initialization of chemical elements variables from a file.
name,value
Mo,0.8
Ru,0.2
(modules/chemical_reactions/test/tests/thermochimica/ic.csv)Subblocks
The subblocks of the ChemicalComposition
action are what triggers MOOSE objects to be built. If no block restrictions apply to the constructed ThermochimicaElementData
or ThermochimicaNodalData
, a single subblock can be used.
If different user objects are needed, multiple subblocks with subdomain restrictions can be used.
[ChemicalComposition<<<{"href": "index.html"}>>>]
tunit<<<{"description": "Temperature Unit"}>>> = K
punit<<<{"description": "Pressure Unit"}>>> = atm
munit<<<{"description": "Mass Unit"}>>> = moles
is_fv<<<{"description": "Should the variables set up by action be of FV type"}>>> = true
temperature<<<{"description": "Name of temperature variable"}>>> = T
[block_0]
block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = '0'
elements<<<{"description": "List of chemical elements (or ALL)"}>>> = 'Mo Ru'
thermofile<<<{"description": "Thermodynamics model file"}>>> = Kaye_NobleMetals.dat
output_phases<<<{"description": "List of phases to be output"}>>> = 'BCCN HCPN'
output_species<<<{"description": "List species for which concentration in the phases is needed"}>>> = 'BCCN:Mo'
is_fv<<<{"description": "Should the variables set up by action be of FV type"}>>> = false
output_species_unit<<<{"description": "Mass unit for output species: mole_fractions or moles"}>>> = mole_fraction
[]
[block_1]
block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = '1'
elements<<<{"description": "List of chemical elements (or ALL)"}>>> = 'Fe O'
thermofile<<<{"description": "Thermodynamics model file"}>>> = FeTiVO.dat
output_phases<<<{"description": "List of phases to be output"}>>> = 'gas_ideal'
output_species<<<{"description": "List species for which concentration in the phases is needed"}>>> = 'SlagBsoln:Fe2O3'
output_species_unit<<<{"description": "Mass unit for output species: mole_fractions or moles"}>>> = moles
[]
[]
(modules/chemical_reactions/test/tests/thermochimica/MoRu_subblock.i)Parameters supplied at the [ChemicalComposition]
level act as defaults for the action subblocks but can be overridden by specifying the parameter within the subblock.
Input Parameters
- control_tagsAdds user-defined labels for accessing object parameters via control logic.
C++ Type:std::vector<std::string>
Controllable:No
Description:Adds user-defined labels for accessing object parameters via control logic.
Advanced Parameters
References
- M.H.A. Piro, S. Simunovic, T.M. Besmann, B.J. Lewis, and W.T. Thompson.
The thermochemistry library thermochimica.
Computational Materials Science, 67:266–272, 2013.
URL: https://www.sciencedirect.com/science/article/pii/S0927025612005502, doi:https://doi.org/10.1016/j.commatsci.2012.09.011.[BibTeX]