ChemicalComposition Action System

commentnote:For Thermochimica module

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.

Input Parameters

  • munitMass Unit

    C++ Type:MooseEnum

    Options:mole_fraction, atom_fraction, atoms, moles, gram-atoms, mass_fraction, kilograms, grams, pounds

    Controllable:No

    Description:Mass Unit

  • punitPressure Unit

    C++ Type:MooseEnum

    Options:atm, psi, bar, Pa, kPa

    Controllable:No

    Description:Pressure Unit

  • tunitTemperature Unit

    C++ Type:MooseEnum

    Options:K, C, F, R

    Controllable:No

    Description:Temperature Unit

Required Parameters

  • 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

  • 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.

  • 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

  • elementsList of chemical elements

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:List of chemical elements

  • 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.

  • 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_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

  • thermofileThermodynamics model file

    C++ Type:FileName

    Controllable:No

    Description:Thermodynamics model file

An example of the ChemicalComposition block is shown in Listing 1

Listing 1:

[GlobalParams]
  elements = 'Mo Ru'
  output_phases = 'BCCN HCPN'
  output_species = 'BCCN:Mo HCPN:Mo BCCN:Ru HCPN:Ru'
  element_potentials = 'cp:Mo cp:Ru'
[]

[ChemicalComposition]
  thermofile = Kaye_NobleMetals.dat
  initial_values = ic.csv
  tunit = K
  punit = atm
  munit = moles
[]
(modules/chemical_reactions/test/tests/thermochimica/csv_ic.i)

Listing 1 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.

"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)

Optional Parameters

References

  1. 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]