Module “quantity_factory”

class tc_python.quantity_factory.DiffusionQuantity

Bases: AbstractQuantity

Factory class providing quantities used for defining diffusion simulations and their results.

Note

In this factory class only the most common quantities are defined, you can always use the Console Mode syntax strings in the respective methods as an alternative (for example: “NPM(*)”).

classmethod activity_of_component(component: str, use_ser: bool = False) ActivityOfComponent

Creates a quantity representing the activity of a component.

Parameters
  • component – The name of the component, use ALL_COMPONENTS to choose all components

  • use_ser – Use Stable-Element-Reference(SER). The user-defined reference state is be used if this setting is set to False.

Returns

A new ActivityOfComponent object.

classmethod chemical_diffusion_coefficient(phase: str, diffusing_element: str, gradient_element: str, reference_element: str) ChemicalDiffusionCoefficient

Creates a quantity representing the chemical diffusion coefficient of a phase [m^2/s].

Parameters
  • phase – The name of the phase

  • diffusing_element – The diffusing element

  • gradient_element – The gradient element

  • reference_element – The reference element (for example “Fe” in a steel)

Returns

A new ChemicalDiffusionCoefficient object.

classmethod chemical_potential_of_component(component: str, use_ser: bool = False) ChemicalPotentialOfComponent

Creates a quantity representing the chemical potential of a component [J].

Parameters
  • component – The name of the component, use ALL_COMPONENTS to choose all components

  • use_ser – Use Stable-Element-Reference(SER). The user-defined reference state is used if this setting is set to False.

Returns

A new ChemicalPotentialOfComponent object.

classmethod distance(region: str = 'All') Distance

Creates a quantity representing the distance [m].

Parameters

region – The name of the region or All to choose global.

classmethod intrinsic_diffusion_coefficient(phase: str, diffusing_element: str, gradient_element: str, reference_element: str) IntrinsicDiffusionCoefficient

Creates a quantity representing the intrinsic diffusion coefficient of a phase [m^2/s].

Parameters
  • phase – The name of the phase

  • diffusing_element – The diffusing element

  • gradient_element – The gradient element

  • reference_element – The reference element (for example “Fe” in a steel)

Returns

A new IntrinsicDiffusionCoefficient object.

classmethod l_bis(phase: str, diffusing_element: str, gradient_element: str, reference_element: str) Lbis

Creates a quantity representing L’’ of a phase [m^2/s].

Parameters
  • phase – The name of the phase

  • diffusing_element – The diffusing element

  • gradient_element – The gradient element

  • reference_element – The reference element (for example “Fe” in a steel)

Returns

A new Lbis object.

classmethod mass_fraction_of_a_component(component: str) MassFractionOfAComponent

Creates a quantity representing the mass fraction of a component.

Parameters

component – The name of the component or ALL_COMPONENTS to choose all components

Returns

A new MassFractionOfAComponent object.

classmethod mass_fraction_of_a_phase(phase: str) MassFractionOfAPhase

Creates a quantity representing the mass fraction of a phase.

Parameters

phase – The name of the phase or ALL_PHASES to choose all phases.

Returns

A new MassFractionOfAPhase object.

classmethod mobility_of_component_in_phase(phase: str, component: str) MobilityOfComponentInPhase

Creates a quantity representing the mobility of a component in a phase [m^2/Js].

Parameters
  • phase – The name of the phase

  • component – The name of the component

Returns

A new MobilityOfComponentInPhase object.

classmethod mole_fraction_of_a_component(component: str) MoleFractionOfAComponent

Creates a quantity representing the mole fraction of a component.

Parameters

component – The name of the component or ALL_COMPONENTS to choose all components

Returns

A new MoleFractionOfAComponent object.

classmethod mole_fraction_of_a_phase(phase: str) MoleFractionOfAPhase

Creates a quantity representing the mole fraction of a phase.

Parameters

phase – The name of the phase or ALL_PHASES to choose all phases

Returns

A new MoleFractionOfAPhase object.

classmethod position_of_lower_boundary_of_region(region: str) PositionOfLowerBoundaryOfRegion

Creates a quantity representing the position of lower boundary of a region [m].

Parameters

region – The name of the region

Returns

A new PositionOfLowerBoundaryOfRegion object.

classmethod position_of_upper_boundary_of_region(region: str) PositionOfUpperBoundaryOfRegion

Creates a quantity representing the position of upper boundary of a region [m].

Parameters

region – The name of the region

Returns

A new PositionOfUpperBoundaryOfRegion object.

classmethod temperature() Temperature

Creates a quantity representing the temperature [K].

Returns

A new Temperature object.

classmethod thermodynamic_factor(phase: str, diffusing_element: str, gradient_element: str, reference_element: str) ThermoDynamicFactor

Creates a quantity representing thermodynamic factor of a phase.

Parameters
  • phase – The name of the phase

  • diffusing_element – The diffusing element

  • gradient_element – The gradient element

  • reference_element – The reference element (for example “Fe” in a steel)

Returns

A new ThermoDynamicFactor object.

classmethod time() Time

Creates a quantity representing the time [s].

classmethod total_mass_fraction_of_component(component: str) TotalMassFractionOfComponent

Creates a quantity representing the total mass fraction of a component.

Parameters

component – The name of the component

Returns

A new TotalMassFractionOfComponent object.

classmethod total_mass_fraction_of_component_in_phase(phase: str, component: str) TotalMassFractionOfComponentInPhase

Creates a quantity representing the total mass fraction of a component in a phase.

Parameters
  • phase – The name of the phase

  • component – The name of the component

Returns

A new TotalMassFractionOfComponentInPhase object.

classmethod total_mass_fraction_of_phase(phase: str) TotalMassFractionOfPhase

Creates a quantity representing the total mass fraction of a phase.

Parameters

phase – The name of the phase.

Returns

A new TotalMassFractionOfPhase object.

classmethod total_mole_fraction_of_component(component: str) TotalMoleFractionOfComponent

Creates a quantity representing the total mole fraction of a component.

Parameters

component – The name of the component

Returns

A new TotalMoleFractionOfComponent object.

classmethod total_mole_fraction_of_component_in_phase(phase: str, component: str) TotalMoleFractionOfComponentInPhase

Creates a quantity representing the total mole fraction of a component in a phase.

Parameters
  • phase – The name of the phase

  • component – The name of the component

Returns

A new TotalMoleFractionOfComponentInPhase object.

classmethod total_volume_fraction_of_phase(phase: str) TotalVolumeFractionOfPhase

Creates a quantity representing the total volume fraction of a phase.

Parameters

phase – The name of the phase.

Returns

A new TotalVolumeFractionOfPhase object.

classmethod tracer_diffusion_coefficient(phase: str, diffusing_element: str) TracerDiffusionCoefficient

Creates a quantity representing tracer diffusion coefficient of a phase [m^2/s].

Parameters
  • phase – The name of the phase

  • diffusing_element – The diffusing element

Returns

A new TracerDiffusionCoefficient object.

classmethod u_fraction_of_a_component(component: str) UFractionOfAComponent

Creates a quantity representing the u-fraction of a component.

Parameters

component – The name of the component

Returns

A new UFractionOfAComponent object.

classmethod user_defined_function(expression: str) Function

Creates a quantity representing a user-defined function.

Parameters

expression – The function expression

Returns

A new Function object

classmethod velocity_of_lower_boundary_of_region(region: str) VelocityOfLowerBoundaryOfRegion

Creates a quantity representing the velocity of lower boundary of a region [m/s].

Parameters

region – The name of the region

Returns

A new VelocityOfLowerBoundaryOfRegion object.

classmethod velocity_of_upper_boundary_of_region(region: str) VelocityOfUpperBoundaryOfRegion

Creates a quantity representing the velocity of upper boundary of a region [m/s].

Parameters

region – The name of the region

Returns

A new VelocityOfUpperBoundaryOfRegion object.

classmethod width_of_region(region: str) Function

Creates a quantity representing the width of a region [m].

Parameters

region – The name of the region

Returns

A new WidthOfRegion object.

class tc_python.quantity_factory.IndependentVariable

Bases: AbstractQuantity

Factory class providing quantities used for defining the independent variable in general diffusion result querying.

classmethod distance(region: str = 'All') Distance

Creates an independent variable representing the distance [m].

Returns

A new Distance object

classmethod time() Time

Creates an independent variable representing the time [s].

Returns

A new Time object

class tc_python.quantity_factory.PlotCondition

Bases: AbstractQuantity

Factory class providing quantities used for defining the plot condition in general diffusion result querying.

Note

In this factory class only the most common quantities are defined, you can always use the Console Mode syntax strings in the respective methods as an alternative (for example: “time last”).

classmethod distance(distancepoint: float, region: str = 'All') DistanceCondition

Creates a plot condition representing the distance [m].

Change in version 2019b: Mandatory parameter distancepoint added

Parameters
  • distancepoint – The distance from the lower interface of the region

  • region – The name of the region or All to choose global.

Returns

A new DistanceCondition object

classmethod integral() IntegralCondition

Creates an integral plot condition.

Returns

A new IntegralCondition object

classmethod interface(region: str, interface_position: InterfacePosition) InterfaceCondition

Creates a plot condition representing an interface between two regions.

Parameters
  • region – The name of the region used for defining the interface

  • interface_position – The position of the interface relative to that region (lower or upper)

Returns

A new InterfaceCondition object

classmethod time(timepoint: Union[float, str] = 'Last') TimeCondition

Creates a plot condition representing the time [s].

Change in version 2019b: Lists of timepoints are no longer supported

Parameters

timepoint – The timepoint. Optionally “Last” can be used for the end of the simulation

Returns

A new TimeCondition object

class tc_python.quantity_factory.ScheilQuantity

Bases: AbstractQuantity

Factory class providing quantities used for defining a Scheil calculation result (tc_python.scheil.ScheilCalculationResult).

classmethod apparent_heat_capacity_per_gram() ApparentHeatCapacityPerGram

Creates a quantity representing the apparent heat capacity [J/g/K].

Returns

A new ApparentHeatCapacityPerGram object.

classmethod apparent_heat_capacity_per_mole() ApparentHeatCapacityPerMole

Creates a quantity representing the apparent heat capacity [J/mol/K].

Returns

A new ApparentHeatCapacityPerMole object.

classmethod apparent_volumetric_thermal_expansion_coefficient() ApparentVolumetricThermalExpansionCoefficient

Creates a quantity representing the apparent volumetric thermal expansion coefficient of the system [1/K].

Returns

A new ApparentVolumetricThermalExpansionCoefficient object.

classmethod composition_of_phase_as_mole_fraction(phase: str, component: str) CompositionOfPhaseAsMoleFraction

Creates a quantity representing the composition of a phase [mole-fraction].

Parameters
  • phase – The name of the phase, use ALL_PHASES to choose all stable phases

  • component – The name of the component, use ALL_COMPONENTS to choose all components

Returns

A new CompositionOfPhaseAsMoleFraction object.

classmethod composition_of_phase_as_weight_fraction(phase: str, component: str) CompositionOfPhaseAsWeightFraction

Creates a quantity representing the composition of a phase [weight-fraction].

Parameters
  • phase – The name of the phase, use ALL_PHASES to choose all stable phases

  • component – The name of the component, use ALL_COMPONENTS to choose all components

Returns

A new CompositionOfPhaseAsWeightFraction object.

classmethod density_of_phase(phase: str) DensityOfPhase

Creates a quantity representing the average density of a phase [g/cm^3].

Parameters

phase – The name of the phase or ALL_PHASES to choose all phases

Returns

A new DensityOfPhase object.

classmethod density_of_system() DensityOfSystem

Creates a quantity representing the average density of the system [g/cm^3].

Returns

A new DensityOfSystem object.

classmethod distribution_of_component_of_phase(phase: str, component: str) DistributionOfComponentOfPhase

Creates a quantity representing the (molar) fraction of the specified component being present in the specified phase compared to the overall system [-]. This corresponds to the degree of segregation to that phase.

Parameters
  • phase – The name of the phase

  • component – The name of the component

Returns

A new DistributionOfComponentOfPhase object.

classmethod heat_per_gram() HeatPerGram

Creates a quantity representing the total heat release from the liquidus temperature down to the current temperature [J/g].

Note

The total or apparent heat release during the solidification process consists of two parts: one is the so-called latent heat, i.e. heat due to the liquid -> solid phase transformation (latent_heat_per_mole() and latent_heat_per_gram()), and the other is the heat related to the specific heat of liquid and solid phases (heat_per_mole() and heat_per_gram()).

Returns

A new HeatPerGram object.

classmethod heat_per_mole() HeatPerMole

Creates a quantity representing the total heat release from the liquidus temperature down to the current temperature [J/mol].

Note

The total or apparent heat release during the solidification process consists of two parts: one is the so-called latent heat, i.e. heat due to the liquid -> solid phase transformation (latent_heat_per_mole() and latent_heat_per_gram()), and the other is the heat related to the specific heat of liquid and solid phases (heat_per_mole() and heat_per_gram()).

Returns

A new HeatPerMole object.

classmethod latent_heat_per_gram() LatentHeatPerGram

Creates a quantity representing the cumulated latent heat release from the liquidus temperature down to the current temperature [J/g].

Note

The total or apparent heat release during the solidification process consists of two parts: one is the so-called latent heat, i.e. heat due to the liquid -> solid phase transformation (latent_heat_per_mole() and latent_heat_per_gram()), and the other is the heat related to the specific heat of liquid and solid phases (heat_per_mole() and heat_per_gram()).

Returns

A new LatentHeatPerGram object.

classmethod latent_heat_per_mole() LatentHeatPerMole

Creates a quantity representing the cumulated latent heat release from the liquidus temperature down to the current temperature [J/mol].

Note

The total or apparent heat release during the solidification process consists of two parts: one is the so-called latent heat, i.e. heat due to the liquid -> solid phase transformation (latent_heat_per_mole() and latent_heat_per_gram()), and the other is the heat related to the specific heat of liquid and solid phases (heat_per_mole() and heat_per_gram()).

Returns

A new LatentHeatPerMole object.

classmethod mass_fraction_of_a_solid_phase(phase: str) MassFractionOfASolidPhase

Creates a quantity representing the mass fraction of a solid phase.

Parameters

phase – The name of the phase or ALL_PHASES to choose all solid phases

Returns

A new MassFractionOfASolidPhase object.

classmethod mass_fraction_of_all_liquid() MassFractionOfAllLiquid

Creates a quantity representing the total mass fraction of all the liquid phase.

Returns

A new MassFractionOfAllLiquid object.

classmethod mass_fraction_of_all_solid_phases() MassFractionOfAllSolidPhase

Creates a quantity representing the total mass fraction of all solid phases.

Returns

A new MassFractionOfAllSolidPhase object.

classmethod molar_volume_of_phase(phase: str) MolarVolumeOfPhase

Creates a quantity representing the molar volume of a phase [m^3/mol].

Parameters

phase – The name of the phase or ALL_PHASES to choose all phases

Returns

A new MolarVolumeOfPhase object.

classmethod molar_volume_of_system() MolarVolumeOfSystem

Creates a quantity representing the molar volume of the system [m^3/mol].

Returns

A new MolarVolumeOfSystem object.

classmethod mole_fraction_of_a_solid_phase(phase: str) MoleFractionOfASolidPhase

Creates a quantity representing the molar fraction of a solid phase.

Parameters

phase – The name of the phase or ALL_PHASES to choose all solid phases

Returns

A new MoleFractionOfASolidPhase object.

classmethod mole_fraction_of_all_liquid() MoleFractionOfAllLiquid

Creates a quantity representing the total molar fraction of all the liquid phase.

Returns

A new MoleFractionOfAllLiquid object.

classmethod mole_fraction_of_all_solid_phases() MoleFractionOfAllSolidPhases

Creates a quantity representing the total molar fraction of all solid phases.

Returns

A new MoleFractionOfAllSolidPhases object.

classmethod site_fraction_of_component_in_phase(phase: str, component: str, sub_lattice_ordinal_no: int = 0) SiteFractionOfComponentInPhase

Creates a quantity representing the site fractions [-].

Parameters
  • phase – The name of the phase, use ALL_PHASES to choose all stable phases

  • component – The name of the component, use ALL_COMPONENTS to choose all components

  • sub_lattice_ordinal_no – The ordinal number (i.e. 1, 2, …) of the sublattice of interest, use None to choose all sublattices

Note

Detailed information about the sublattices can be obtained by getting the Phase object of a phase from the System object using tc_python.system.System.get_phase_in_system. For each phase the sublattices are obtained by using tc_python.system.Phase.get_sublattices. The order in the returned list is equivalent to the sublattice ordinal number expected, but note that the ordinal numbers start with 1.

Returns

A new SiteFractionOfComponentInPhase object.

classmethod temperature() Temperature

Creates a quantity representing the temperature [K].

Returns

A new Temperature object.

class tc_python.quantity_factory.ThermodynamicQuantity

Bases: AbstractQuantity

Factory class providing quantities used for defining equilibrium calculations (single equilibrium, property and phase diagrams, …) and their results.

Note

In this factory class only the most common quantities are defined, you can always use the Console Mode syntax strings in the respective methods as an alternative (for example: “NPM(*)”).

classmethod activity_of_component(component: str, use_ser: bool = False) ActivityOfComponent

Creates a quantity representing the activity of a component [-].

Parameters
  • component – The name of the component, use ALL_COMPONENTS to choose all components

  • use_ser – Use Stable-Element-Reference(SER). The user-defined reference state is used if this setting is set to False.

Returns

A new ActivityOfComponent object.

classmethod chemical_diffusion_coefficient(phase: str, diffusing_element: str, gradient_element: str, reference_element: str) ChemicalDiffusionCoefficient

Creates a quantity representing the chemical diffusion coefficient of a phase [m^2/s].

Parameters
  • phase – The name of the phase

  • diffusing_element – The diffusing element

  • gradient_element – The gradient element

  • reference_element – The reference element (for example “Fe” in a steel)

Returns

A new ChemicalDiffusionCoefficient object.

classmethod chemical_potential_of_component(component: str, use_ser: bool = False) ChemicalPotentialOfComponent

Creates a quantity representing the chemical potential of a component [J].

Parameters
  • component – The name of the component, use ALL_COMPONENTS to choose all components

  • use_ser – Use Stable-Element-Reference(SER). The user-defined reference state is used if this setting is set to False.

Returns

A new ChemicalPotentialOfComponent object.

classmethod composition_of_phase_as_mole_fraction(phase: str, component: str = 'All') CompositionOfPhaseAsMoleFraction

Creates a quantity representing the composition of a phase [mole-fraction].

Parameters
  • phase – The name of the phase, use ALL_PHASES to choose all stable phases

  • component – The name of the component, use ALL_COMPONENTS to choose all components

Returns

A new CompositionOfPhaseAsMoleFraction object.

classmethod composition_of_phase_as_weight_fraction(phase: str, component: str) CompositionOfPhaseAsWeightFraction

Creates a quantity representing the composition of a phase [weight-fraction].

Parameters
  • phase – The name of the phase, use ALL_PHASES to choose all stable phases

  • component – The name of the component, use ALL_COMPONENTS to choose all components

Returns

A new CompositionOfPhaseAsWeightFraction object.

classmethod gibbs_energy_of_a_phase(phase: str, use_ser: bool = False) GibbsEnergyOfAPhase

Creates a quantity representing the Gibbs energy of a phase [J].

Parameters
  • phase – The name of the phase or ALL_PHASES to choose all phases

  • use_ser – Use Stable-Element-Reference(SER). The user-defined reference state will be used when this setting is set to False.

Returns

A new GibbsEnergyOfAPhase object.

classmethod mass_fraction_of_a_component(component: str) MassFractionOfAComponent

Creates a quantity representing the mass fraction of a component.

Parameters

component – The name of the component or ALL_COMPONENTS to choose all components

Returns

A new MassFractionOfAComponent object.

classmethod mass_fraction_of_a_phase(phase: str) MassFractionOfAPhase

Creates a quantity representing the mass fraction of a phase.

Parameters

phase – The name of the phase or ALL_PHASES to choose all phases.

Returns

A new MassFractionOfAPhase object.

classmethod mole_fraction_of_a_component(component: str) MoleFractionOfAComponent

Creates a quantity representing the mole fraction of a component.

Parameters

component – The name of the component or ALL_COMPONENTS to choose all components

Returns

A new MoleFractionOfAComponent object.

classmethod mole_fraction_of_a_phase(phase: str) MoleFractionOfAPhase

Creates a quantity representing the mole fraction of a phase.

Parameters

phase – The name of the phase or ALL_PHASES to choose all phases

Returns

A new MoleFractionOfAPhase object.

classmethod normalized_driving_force_of_a_phase(phase: str) NormalizedDrivingForceOfAPhase

Creates a quantity representing normalized driving force of a phase [-].

Warning

A driving force calculation requires that the respective phase has been set to the state DORMANT. The parameter All is only reasonable if all phases have been set to that state.

Parameters

phase – The name of the phase or ALL_PHASES to choose all phases

Returns

A new DrivingForceOfAPhase object.

classmethod pressure() Pressure

Creates a quantity representing the pressure [Pa].

Returns

A new Pressure object.

classmethod system_size() SystemSize

Creates a quantity representing the system size [mol].

Returns

A new SystemSize object.

classmethod temperature() Temperature

Creates a quantity representing the temperature [K].

Returns

A new Temperature object.

classmethod tracer_diffusion_coefficient(phase: str, diffusing_element: str) TracerDiffusionCoefficient

Creates a quantity representing tracer diffusion coefficient of a phase [m^2/s].

Parameters
  • phase – The name of the phase

  • diffusing_element – The diffusing element

Returns

A new TracerDiffusionCoefficient object.

classmethod u_fraction_of_a_component(component: str) UFractionOfAComponent

Creates a quantity representing the u-fraction of a component.

Parameters

component – The name of the component

Returns

A new UFractionOfAComponent object.

classmethod user_defined_function(expression: str) Function

Creates a quantity representing a user-defined function.

Parameters

expression – The function expression

Returns

A new Function object

classmethod volume_fraction_of_a_phase(phase: str) VolumeFractionOfAPhase

Creates a quantity representing the volume fraction of a phase.

Parameters

phase – The name of the phase or ALL_PHASES to choose all phases

Returns

A new VolumeFractionOfAPhase object.