Package “precipitation”¶
- class +tc_toolbox.+precipitation.FixedGrainSize(grain_radius)¶
Factory class providing objects representing a grain growth model.
- FixedGrainSize(grain_radius)¶
Fixed grain radius size. Default: 1.0E-4 m
- Parameters
grain_radius – The grain radius / size [m]
- static fixed_grain_size(grain_radius)¶
Fixed grain radius size. Default: 1.0E-4 m
- Parameters
grain_radius – The grain radius / size [m]
- static grain_growth(grain_size_distribution)¶
Sets the initial grain size distribution for the matrix. Default: If the initial grain size distribution is not explicitly provided, a constant average grains size will be used and no grain growth evaluated during the simulation.
Tip
Use this option if you want to study the further evolution of an existing microstructure.
- Parameters
grain_size_distribution – grain size distribution
- set_grain_aspect_ratio(grain_aspect_ratio)¶
Enter a numerical value. Default: 1.0.
- Parameters
grain_aspect_ratio – The grain aspect ratio [-]
- class +tc_toolbox.+precipitation.GrainGrowth(grain_size_distribution)¶
Factory class providing objects representing a grain growth model.
- GrainGrowth(grain_size_distribution)¶
Sets the initial grain size distribution for the matrix. Default: If the initial grain size distribution is not explicitly provided, a constant average grains size will be used and no grain growth evaluated during the simulation.
Tip
Use this option if you want to study the further evolution of an existing microstructure.
- Parameters
grain_size_distribution – grain size distribution
- disable_zener_pinning()¶
Disable Zener pinning to ignore the particle pinning effect on the grain growth. Zener pinning is by default disabled when no grain size distribution is defined, i.e. a single constant grain size is used. The setting is by default enabled when a grain size distribution is defined.
- Returns
This
GrainSizeDistribution
object
- enable_zener_pinning()¶
Enable Zener pinning to simulate the particle pinning effect on the grain growth. The setting is by default enabled when a grain size distribution is defined.
- Returns
This
GrainSizeDistribution
object
- static fixed_grain_size(grain_radius)¶
Fixed grain radius size. Default: 1.0E-4 m
- Parameters
grain_radius – The grain radius / size [m]
- static grain_growth(grain_size_distribution)¶
Sets the initial grain size distribution for the matrix. Default: If the initial grain size distribution is not explicitly provided, a constant average grains size will be used and no grain growth evaluated during the simulation.
Tip
Use this option if you want to study the further evolution of an existing microstructure.
- Parameters
grain_size_distribution – grain size distribution
- set_grain_boundary_energy(energy)¶
Set the energy of the grain bounday.
- Parameters
energy – The grain boundary energy [J/m2]
- Returns
This
GrainSizeDistribution
object
- set_grain_boundary_mobility_activation_energy(activation_energy)¶
Set the grain boundary mobility activation energy where the mobility is defined by an Arrhenius type of equation.
- Parameters
activation_energy – The mobility activation energy [J/mol]
- Returns
This
GrainSizeDistribution
object
- set_grain_boundary_mobility_pre_factor(pre_factor)¶
Set the grain boundary mobility prefactor where the mobility is defined by an Arrhenius type of equation.
- Parameters
pre_factor – The grain boundary mobility pre factor [m^4/(J s)]
- Returns
This
GrainSizeDistribution
object
- class +tc_toolbox.+precipitation.GrainGrowthModel¶
Factory class providing objects representing a grain growth model.
- static fixed_grain_size(grain_radius)¶
Fixed grain radius size. Default: 1.0E-4 m
- Parameters
grain_radius – The grain radius / size [m]
- static grain_growth(grain_size_distribution)¶
Sets the initial grain size distribution for the matrix. Default: If the initial grain size distribution is not explicitly provided, a constant average grains size will be used and no grain growth evaluated during the simulation.
Tip
Use this option if you want to study the further evolution of an existing microstructure.
- Parameters
grain_size_distribution – grain size distribution
- class +tc_toolbox.+precipitation.GrainSizeDistribution¶
Represents the grain size distribution at a certain time.
- GrainSizeDistribution()¶
Constructs an instance of
GrainSizeDistribution
.
- add_radius_and_number_density(radius, number_density)¶
Adds a radius and number density pair to the grain size distribution.
- Parameters
radius – The radius [m]
number_density – The number of grains per unit volume per unit length [m^-4]
- Returns
This
GrainSizeDistribution
object
- class +tc_toolbox.+precipitation.GrowthRateModel¶
Choice of the used growth rate model for a precipitate.
The most efficient model is the Simplified model, which is the default and applicable to most alloy systems under the assumption that either the supersaturation is small, or the alloying elements have comparable diffusivity. If all alloying elements are substitutional but they have remarkable diffusivity difference, e.g. in Al-Zr system, or if the diffusivity is strongly composition-dependent, the General model is preferred. If the supersaturation is high, and meanwhile there are fast-diffusing interstitial elements such as C, the Advanced model is more appropriate to capture the NPLE mechanism.
- class +tc_toolbox.+precipitation.MatrixPhase(matrix_phase_name)¶
The matrix phase in a precipitation calculation
- MatrixPhase(matrix_phase_name)¶
- add_precipitate_phase(precipitate_phase)¶
Adds a precipitate phase.
- Parameters
precipitate_phase – The precipitate phase
- set_dislocation_density(dislocation_density)¶
Enter a numerical value. Default: 5.0E12 m^-2.
- Parameters
dislocation_density – The dislocation density [m^-2]
- set_mobility_enhancement_activation_energy(mobility_enhancement_activation_energy)¶
A value that adds to the activation energy of mobility data from the database. Default: 0.0 J/mol
- Parameters
mobility_enhancement_activation_energy – The value that adds to the activation energy of mobility data from the database [J/mol].
- set_mobility_enhancement_prefactor(mobility_enhancement_prefactor)¶
A parameter that multiplies to the mobility data from database. Default: 1.0
- Parameters
mobility_enhancement_prefactor – The mobility enhancement factor [-]
- set_molar_volume(volume)¶
Sets the molar volume of the phase.
Default: If not set, the molar volume is taken from the thermodynamic database (or set to 7.0e-6 m^3/mol if the database contains no molar volume information).
- Parameters
volume – The molar volume [m^3/mol]
- with_elastic_properties_cubic(c11, c12, c44)¶
Sets the elastic properties to “cubic” and specifies the elastic stiffness tensor components. Default: if not chosen, the default is DISREGARD
- Parameters
c11 – The stiffness tensor component c11 [GPa]
c12 – The stiffness tensor component c12 [GPa]
c44 – The stiffness tensor component c44 [GPa]
- with_elastic_properties_disregard()¶
Set to disregard to ignore the elastic properties. Default: This is the default option
- with_elastic_properties_isotropic(shear_modulus, poisson_ratio)¶
Sets elastic properties to isotropic. Default: if not chosen, the default is DISREGARD
- Parameters
shear_modulus – The shear modulus [GPa]
poisson_ratio – The Poisson’s ratio [-]
- with_grain_growth_model(grain_growth_model)¶
Sets the model for grain growth. Either fixed size or with a starting distribution
Default: Fixed grain radius size 1.0E-4 m
- Parameters
grain_growth_model – the grain growth model
- class +tc_toolbox.+precipitation.NumericalParameters¶
Numerical parameters
- NumericalParameters()¶
Constructs an instance of
NumericalParameters
.
- set_max_overall_volume_change(max_overall_volume_change)¶
This defines the maximum absolute (not ratio) change of the volume fraction allowed during one time step. Default: 0.001
- Parameters
max_overall_volume_change – The maximum absolute (not ratio) change of the volume fraction allowed during one time step [-]
- set_max_radius_points_per_magnitude(max_radius_points_per_magnitude)¶
Sets the maximum number of grid points over one order of magnitude in radius. Default: 200.0
- Parameters
max_radius_points_per_magnitude – The maximum number of grid points over one order of magnitude in radius [-]
- set_max_rel_change_critical_radius(max_rel_change_critical_radius)¶
Used to place a constraint on how fast the critical radium can vary, and thus put a limit on time step. Default: 0.1
- Parameters
max_rel_change_critical_radius – The maximum relative change of the critical radius [-]
- set_max_rel_change_nucleation_rate_log(max_rel_change_nucleation_rate_log)¶
This parameter ensures accuracy for the evolution of effective nucleation rate. Default: 0.5
- Parameters
max_rel_change_nucleation_rate_log – The maximum logarithmic relative change of the nucleation rate [-]
- set_max_rel_radius_change(max_rel_radius_change)¶
The maximum value allowed for relative radius change in one time step. Default: 0.01
- Parameters
max_rel_radius_change – The maximum relative radius change in one time step [-]
- set_max_rel_solute_composition_change(max_rel_solute_composition_change)¶
Set a limit on the time step by controlling solute depletion or saturation, especially at isothermal stage. Default: 0.01
- Parameters
max_rel_solute_composition_change – The limit for the relative solute composition change [-]
- set_max_time_step(max_time_step)¶
The maximum time step allowed for time integration as fraction of the simulation time. Default: 0.1
- Parameters
max_time_step – The maximum time step as fraction of the simulation time [-]
- set_max_time_step_during_heating(max_time_step_during_heating)¶
The upper limit of the time step that has been enforced in the heating stages. Default: 1.0 s
- Parameters
max_time_step_during_heating – The maximum time step during heating [s]
- set_max_volume_fraction_dissolve_time_step(max_volume_fraction_dissolve_time_step)¶
Sets the maximum volume fraction of subcritical particles allowed to dissolve in one time step. Default: 0.01
- Parameters
max_volume_fraction_dissolve_time_step – The maximum volume fraction of subcritical particles allowed to dissolve in one time step [-]
- set_min_radius_nucleus_as_particle(min_radius_nucleus_as_particle)¶
The cut-off lower limit of precipitate radius. Default: 5.0E-10 m
- Parameters
min_radius_nucleus_as_particle – The minimum radius of a nucleus to be considered as a particle [m]
- set_min_radius_points_per_magnitude(min_radius_points_per_magnitude)¶
Sets the minimum number of grid points over one order of magnitude in radius. Default: 100.0
- Parameters
min_radius_points_per_magnitude – The minimum number of grid points over one order of magnitude in radius [-]
- set_radius_points_per_magnitude(radius_points_per_magnitude)¶
Sets the number of grid points over one order of magnitude in radius. Default: 150.0
- Parameters
radius_points_per_magnitude – The number of grid points over one order of magnitude in radius [-]
- set_rel_radius_change_class_collision(rel_radius_change_class_collision)¶
Sets the relative radius change for avoiding class collision. Default: 0.5
- Parameters
rel_radius_change_class_collision – The relative radius change for avoiding class collision [-]
- class +tc_toolbox.+precipitation.ParticleSizeDistribution¶
Represents the state of a microstructure evolution at a certain time including its particle size distribution, composition and overall phase fraction.
- ParticleSizeDistribution()¶
Constructs an instance of
ParticleSizeDistribution
.
- add_radius_and_number_density(radius, number_density)¶
Adds a radius and number density pair to the particle size distribution.
- Parameters
radius – The radius [m]
number_density – The number of particles per unit volume per unit length [m^-4]
- Returns
This
ParticleSizeDistribution
object
- set_initial_composition(element_name, composition_value)¶
Sets the initial precipitate composition.
- Parameters
element_name – The name of the element
composition_value – The composition value [composition unit defined for the calculation]
- Returns
This
ParticleSizeDistribution
object
- set_volume_fraction_of_phase_type(volume_fraction_of_phase_type_enum)¶
Sets the type of the phase fraction or percentage. Default: By default volume fraction is used.
- Parameters
volume_fraction_of_phase_type_enum – Specifies if volume percent or fraction is used
- Returns
This
ParticleSizeDistribution
object
- set_volume_fraction_of_phase_value(value)¶
Sets the overall volume fraction of the phase (unit based on the setting of
set_volume_fraction_of_phase_type()
).- Parameters
value – The volume fraction 0.0 - 1.0 or percent value 0 - 100
- Returns
This
ParticleSizeDistribution
object
- class +tc_toolbox.+precipitation.PrecipitateElasticProperties¶
Represents the elastic transformation strain of a certain precipitate class.
Note
This class is only relevant if the option
TransformationStrainCalculationOption.USER_DEFINED
has been chosen usingPrecipitatePhase.set_transformation_strain_calculation_option()
. The elastic strain can only be considered for non-spherical precipitates.- PrecipitateElasticProperties()¶
Constructs an instance of
PrecipitateElasticProperties
.
- set_e11(e11)¶
Sets the elastic strain tensor component e11. Default: 0.0
- Parameters
e11 – The elastic strain tensor component e11
- Returns
This
PrecipitateElasticProperties
object
- set_e12(e12)¶
Sets the strain tensor component e12. Default: 0.0
- Parameters
e12 – The elastic strain tensor component e12
- Returns
This
PrecipitateElasticProperties
object
- set_e13(e13)¶
Sets the elastic strain tensor component e13. Default: 0.0
- Parameters
e13 – The elastic strain tensor component e13
- Returns
This
PrecipitateElasticProperties
object
- set_e22(e22)¶
Sets the elastic strain tensor component e22. Default: 0.0
- Parameters
e22 – The elastic strain tensor component e22
- Returns
This
PrecipitateElasticProperties
object
- set_e23(e23)¶
Sets the elastic strain tensor component e23. Default: 0.0
- Parameters
e23 – The elastic strain tensor component e23
- Returns
This
PrecipitateElasticProperties
object
- set_e33(e33)¶
Sets the elastic strain tensor component e33. Default: 0.0
- Parameters
e33 – The elastic strain tensor component e33
- Returns
This
PrecipitateElasticProperties
object
- class +tc_toolbox.+precipitation.PrecipitateMorphology¶
Available precipitate morphologies.
- class +tc_toolbox.+precipitation.PrecipitatePhase(precipitate_phase_name)¶
Represents a certain precipitate class (i.e. a group of precipitates with the same phase and settings).
- PrecipitatePhase(precipitate_phase_name)¶
- disable_calculate_aspect_ratio_from_elastic_energy()¶
Disables the automatic calculation of the aspect ratio from the elastic energy of the phase.
Default: This is the default setting (with an aspect ratio of 1.0).
Note
If you use this method, you are required to set the aspect ratio explicitly using the method
set_aspect_ratio_value()
.- Returns
This
PrecipitatePhase
object
- disable_driving_force_approximation()¶
Disables driving force approximation for this precipitate class. Default: Driving force approximation is disabled.
- Returns
This
PrecipitatePhase
object
- enable_calculate_aspect_ratio_from_elastic_energy()¶
Enables the automatic calculation of the aspect ratio from the elastic energy of the phase. Default: The aspect ratio is set to a value of 1.0.
- Returns
This
PrecipitatePhase
object
- enable_driving_force_approximation()¶
Enables driving force approximation for this precipitate class. This approximation is often required when simulating precipitation of multiple particles that use the same phase description. E.g. simultaneous precipitation of a Metal-Carbide(MC) and Metal-Nitride(MN) if configured as different composition sets of the same phase FCC_A1. Default: Driving force approximation is disabled.
Tip
Use this if simulations with several compositions sets of the same phase cause problems.
- Returns
This
PrecipitatePhase
object
- set_alias(alias)¶
Sets an alias string that can later be used to get values from a calculated result. Typically used when having the same phase for several precipitates, but with different nucleation sites. For example two precipitates of the phase M7C3 with nucleation sites in ‘Bulk’ and at ‘Dislocations’. The alias can be used instead of the phase name when retrieving simulated results.
Note
Typically used when having using the same precipitate phase, but with different settings in the same calculation.
- Parameters
alias – The alias string for this class of precipitates
- Returns
This
PrecipitatePhase
object
- set_aspect_ratio_value(aspect_ratio_value)¶
Sets the aspect ratio of the phase. Default: An aspect ratio of 1.0.
Note
Only relevant if
disable_calculate_aspect_ratio_from_elastic_energy()
is used (which is the default).- Parameters
aspect_ratio_value – The aspect ratio value
- Returns
This
PrecipitatePhase
object
- set_gibbs_energy_addition(gibbs_energy_addition)¶
Sets a Gibbs energy addition to the Gibbs energy of the phase. Default: 0,0 J/mol
- Parameters
gibbs_energy_addition – The Gibbs energy addition [J/mol]
- Returns
This
PrecipitatePhase
object
- set_interfacial_energy(interfacial_energy)¶
Sets the interfacial energy. Default: If the interfacial energy is not set, it is automatically calculated using a broken-bond model.
Note
The calculation of the interfacial energy using a broken-bond model is based on the assumption of an interface between a bcc- and a fcc-crystal structure with (110) and (111) lattice planes regardless of the actual phases.
- Parameters
interfacial_energy – The interfacial energy [J/m^2]
- Returns
This
PrecipitatePhase
object
- set_interfacial_energy_estimation_prefactor(interfacial_energy_estimation_prefactor)¶
Sets the interfacial energy prefactor. Default: Prefactor of 1.0 (only relevant if the interfacial energy is automatically calculated).
Note
The interfacial energy prefactor is an amplification factor for the automatically calculated interfacial energy. Example: interfacial_energy_estimation_prefactor = 2.5 => 2.5 * calculated interfacial energy
- Parameters
interfacial_energy_estimation_prefactor – The prefactor for the calculated interfacial energy
- Returns
This
PrecipitatePhase
object
- set_molar_volume(volume)¶
Sets the molar volume of the precipitate phase. Default: The molar volume obtained from the database. If no molar volume information is present in the database, a value of 7.0e-6 m^3/mol is used.
- Parameters
volume – The molar volume [m^3/mol]
- Returns
This
PrecipitatePhase
object
- set_nucleation_at_dislocations(number_density)¶
Activates nucleation at dislocations for this class of precipitates. Calling the method overrides any other nucleation setting for this class of precipitates. Default: If not set, by default bulk nucleation is chosen.
- Parameters
number_density – Number density of nucleation sites. If not set, the value is calculated based on the matrix settings (grain size, dislocation density) [m^-3].
- Returns
This
PrecipitatePhase
object
- set_nucleation_at_grain_boundaries(wetting_angle, number_density)¶
Activates nucleation at grain boundaries for this class of precipitates. Calling the method overrides any other nucleation setting for this class of precipitates. Default: If not set, by default bulk nucleation is chosen.
- Parameters
wetting_angle – If not set, a default value of 90 degrees is used
number_density – Number density of nucleation sites. If not set, the value is calculated based on the matrix settings (grain size) [m^-3].
- Returns
This
PrecipitatePhase
object
- set_nucleation_at_grain_corners(wetting_angle, number_density)¶
Activates nucleation at grain corners for this class of precipitates. Calling the method overrides any other nucleation setting for this class of precipitates. Default: If not set, by default bulk nucleation is chosen.
- Parameters
wetting_angle – If not set, a default value of 90 degrees is used]
number_density – Number density of nucleation sites. If not set, the value is calculated based on the matrix settings (grain size) [m^-3].
- Returns
This
PrecipitatePhase
object
- set_nucleation_at_grain_edges(wetting_angle, number_density)¶
Activates nucleation at the grain edges for this class of precipitates. Calling the method overrides any other nucleation setting for this class of precipitates. Default: If not set, by default bulk nucleation is chosen.
- Parameters
wetting_angle – If not set, a default value of 90 degrees is used
number_density – Number density of nucleation sites. If not set, the value is calculated based on the matrix settings (grain size) [m^-3].
- Returns
This
PrecipitatePhase
object
- set_nucleation_in_bulk(number_density)¶
Activates nucleation in the bulk for this class of precipitates. Calling the method overrides any other nucleation setting for this class of precipitates. Default: This is the default setting (with an automatically calculated number density).
- Parameters
number_density – Number density of nucleation sites. If not set, the value is calculated based on the matrix settings (molar volume) [m^-3]
- Returns
This
PrecipitatePhase
object
- set_phase_boundary_mobility(phase_boundary_mobility)¶
Sets the phase boundary mobility. Default: 10.0 m^4/(Js).
- Parameters
phase_boundary_mobility – The phase boundary mobility [m^4/(Js)]
- Returns
This
PrecipitatePhase
object
- set_precipitate_morphology(precipitate_morphology_enum)¶
Sets the precipitate morphology. Default:
PrecipitateMorphology.SPHERE
- Parameters
precipitate_morphology_enum – The precipitate morphology
- Returns
This
PrecipitatePhase
object
- set_transformation_strain_calculation_option(transformation_strain_calculation_option_enum)¶
Sets the transformation strain calculation option. Default:
TransformationStrainCalculationOption.DISREGARD
.- Parameters
transformation_strain_calculation_option_enum – The chosen option
- Returns
This
PrecipitatePhase
object
- with_elastic_properties(elastic_properties)¶
Sets the elastic properties. Default: The elastic transformation strain is disregarded by default.
Note
This method has only an effect if the option
TransformationStrainCalculationOption.USER_DEFINED
is chosen using the methodset_transformation_strain_calculation_option()
.- Parameters
elastic_properties – The elastic properties object
- Returns
This
PrecipitatePhase
object
- with_growth_rate_model(growth_rate_model_enum)¶
Sets the growth rate model for the class of precipitates. Default:
GrowthRateModel.SIMPLIFIED
- Parameters
growth_rate_model_enum – The growth rate model
- Returns
This
PrecipitatePhase
object
- with_particle_size_distribution(particle_size_distribution)¶
Sets the initial particle size distribution for this class of precipitates. Default: If the initial particle size distribution is not explicitly provided, the simulation will start from a supersaturated matrix.
Tip
Use this option if you want to study the further evolution of an existing microstructure.
- Parameters
particle_size_distribution – The initial particle size distribution object
- Returns
This
PrecipitatePhase
object
- class +tc_toolbox.+precipitation.PrecipitationCCTCalculation(back)¶
Configuration for a Continuous-Cooling-Time (CCT) precipitation calculation.
- PrecipitationCCTCalculation(back)¶
Call base constructor:
tc_toolbox.AbstractCalculation
.
- calculate(timeout_in_minutes)¶
Runs the CCT diagram calculation.
- Parameters
timeout_in_minutes – Used to prevent the calculation from running longer than what is wanted, or from hanging. If the calculation runs longer than timeout_in_minutes, a UnrecoverableCalculationException will be thrown, the current TCPython-block will be unusable and a new TCPython block must be created for further calculations.
- Returns
A
PrecipitationCalculationTTTorCCTResult
which later can be used to get specific values from the calculated result
- get_configuration_as_string()¶
Returns detailed information about the current state of the calculation object.
Warning
The structure of the calculator objects is an implementation detail and might change between releases without notice. Therefore do not rely on the internal object structure.
- get_system_data()¶
Returns the content of the database for the currently loaded system. This can be used to modify the parameters and functions and to change the current system by using
with_system_modifications()
.Note
Parameters can only be read from unencrypted (i.e. user) databases loaded as *.tdb-file.
- Returns
The system data
- invalidate()¶
Invalidates the object and frees the disk space used by it. This is only required if the disk space occupied by the object needs to be released during the calculation. No data can be retrieved from the object afterwards.
- set_composition(element_name, value)¶
Sets the composition of the elements. The unit for the composition can be changed using
set_composition_unit()
. Default: Mole percent (CompositionUnit.MOLE_PERCENT
)- Parameters
element_name – The element
value – The composition (fraction or percent depending on the composition unit)
- Returns
This
PrecipitationCCTCalculation
object
- set_composition_unit(unit_enum)¶
Sets the composition unit. Default: Mole percent (
CompositionUnit.MOLE_PERCENT
).- Parameters
unit_enum – The new composition unit
- Returns
This
PrecipitationCCTCalculation
object
- set_cooling_rates(cooling_rates)¶
Sets all cooling rates for which the CCT diagram should be calculated.
- Parameters
cooling_rates – A list of cooling rates [K/s]
- Returns
This
PrecipitationCCTCalculation
object
- set_max_temperature(max_temperature)¶
Sets maximum temperature of the CCT diagram.
- Parameters
max_temperature – the maximum temperature [K]
- Returns
This
PrecipitationCCTCalculation
object
- set_min_temperature(min_temperature)¶
Sets the minimum temperature of the CCT diagram.
- Parameters
min_temperature – the minimum temperature [K]
- Returns
This
PrecipitationCCTCalculation
object
- stop_at_volume_fraction_of_phase(stop_criterion_value)¶
Sets the stop criterion as a volume fraction of the phase. This setting is applied to all phases.
- Parameters
stop_criterion_value – the volume fraction of the phase (a value between 0 and 1)
- Returns
This
PrecipitationCCTCalculation
object
- with_matrix_phase(matrix_phase)¶
Sets the matrix phase.
- Parameters
matrix_phase – The matrix phase
- Returns
This
PrecipitationCCTCalculation
object
- with_numerical_parameters(numerical_parameters)¶
Sets the numerical parameters. If not specified, reasonable defaults are be used.
- Parameters
numerical_parameters – The parameters
- Returns
This
PrecipitationCCTCalculation
object
- with_system_modifications(system_modifications)¶
Updates the system of this calculator with the supplied system modification (containing new phase parameters and system functions).
Note
This is only possible if the system has been read from unencrypted (i.e. user) databases loaded as a
*.tdb
-file.- Parameters
system_modifications – The system modification to be performed
- Returns
This
PrecipitationCCTCalculation
object
- class +tc_toolbox.+precipitation.PrecipitationCalculationResult(back)¶
Result of a precipitation calculation. This can be used to query for specific values.
- PrecipitationCalculationResult(back)¶
Call base constructor:
tc_toolbox.AbstractResult
.
- invalidate()¶
Invalidates the object and frees the disk space used by it. This is only required if the disk space occupied by the object needs to be released during the calculation. No data can be retrieved from the object afterwards.
- save_to_disk(path)¶
Saves the result to disc. Note that a result is a folder, containing potentially many files. The result can later be loaded with
load_result_from_disk()
- Parameters
path – the path to the folder you want the result to be saved in. It can be relative or absolute.
- Returns
this
PrecipitationCalculationResult
object
- class +tc_toolbox.+precipitation.PrecipitationCalculationSingleResult(back)¶
Result of a isothermal or non-isothermal precipitation calculation. This can be used to query for specific values.
Search the Thermo-Calc help for definitions of the axis variables, e.g. search isothermal variables or non-isothermal variables.
- PrecipitationCalculationSingleResult(back)¶
Call base constructor:
tc_toolbox.precipitation.PrecipitationCalculationResult
.
- get_aspect_ratio_distribution_for_particle_length_of(precipitate_id, time)¶
Returns the aspect ratio distribution of a precipitate in dependency of its mean particle length at a certain time.
Only available if the morphology is set to
PrecipitateMorphology.NEEDLE
orPrecipitateMorphology.PLATE
.- Parameters
time – The time [s]
precipitate_id – The id of a precipitate can either be the phase name or an alias
- Returns
A tuple of two lists of floats (mean particle length [m], aspect ratio)
- get_aspect_ratio_distribution_for_radius_of(precipitate_id, time)¶
Returns the aspect ratio distribution of a precipitate in dependency of its mean radius at a certain time.
Only available if the morphology is set to
PrecipitateMorphology.NEEDLE
orPrecipitateMorphology.PLATE
.- Parameters
time – The time [s]
precipitate_id – The id of a precipitate can either be the phase name or an alias
- Returns
A tuple of two lists of floats (mean radius [m], aspect ratio)
- get_critical_radius_of(precipitate_id)¶
Returns the critical radius of a precipitate in dependency of the time.
- Parameters
precipitate_id – The id of a precipitate can either be phase name or alias
- Returns
A tuple of two lists of floats (time [s], critical radius [m])
- get_cubic_factor_distribution_for_particle_length_of(precipitate_id, time)¶
Returns the cubic factor distribution of a precipitate in dependency of its mean particle length at a certain time.
Only available if the morphology is set to
PrecipitateMorphology.CUBOID
.- Parameters
time – The time in seconds
precipitate_id – The id of a precipitate can either be the phase name or an alias
- Returns
A tuple of two lists of floats (particle length [m], cubic factor)
- get_cubic_factor_distribution_for_radius_of(precipitate_id, time)¶
Returns the cubic factor distribution of a precipitate in dependency of its mean radius at a certain time. Only available if the morphology is set to
PrecipitateMorphology.CUBOID
.- Parameters
time – The time [s]
precipitate_id – The id of a precipitate can either be the phase name or an alias
- Returns
A tuple of two lists of floats (radius [m], cubic factor)
- get_driving_force_of(precipitate_id)¶
Returns the (by R * T) normalized driving force of a precipitate in dependency of the time.
- Parameters
precipitate_id – The id of a precipitate can either be the phase name or an alias
- Returns
A tuple of two lists of floats (time [s], normalized driving force)
- get_grain_critical_radius()¶
Returns the critical radius of grains in dependency of the time.
- Returns
A tuple of two lists of floats (time [s], critical radius [m])
- get_grain_mean_radius()¶
Returns the mean grain size of the matrix phase in dependency of the time.
- Returns
A tuple of two lists of floats (time [s], mean radius [m])
- get_grain_number_density()¶
Returns the grain number density in dependency of the time.
- Returns
A tuple of two lists of floats (time [s], grain number density [m^-3])
- get_grain_number_density_distribution_for_length(time)¶
Returns the number density distribution of grains in dependency of its mean particle length at a certain time.
- Parameters
time – The time [s]
- Returns
A tuple of two lists of floats (grain length[m], number of grains per unit volume per unit length [m^-4])
- get_grain_number_density_distribution_for_radius(time)¶
Returns the number density distribution of a grains in dependency of its mean radius at a certain time.
- Parameters
time – The time [s]
- Returns
A tuple of two lists of floats (radius [m], number of grains per unit volume per unit length [m^-4])
- get_grain_size_distribution(time)¶
Returns the size distribution of the matrix phase in dependency of its grain radius length at a certain time.
- Parameters
time – The time [s]
- Returns
A tuple of two lists of floats (grain radius[m], number density of grains[m^-3])
- get_matrix_composition_in_mole_fraction_of(element_name)¶
Returns the matrix composition (as mole fractions) of a certain element in dependency of the time.
- Parameters
element_name – The element
- Returns
A tuple of two lists of floats (time [s], mole fraction)
- get_matrix_composition_in_weight_fraction_of(element_name)¶
Returns the matrix composition (as weight fraction) of a certain element in dependency of the time.
- Parameters
element_name – The element
- Returns
A tuple of two lists of floats (time [s], weight fraction)
- get_mean_aspect_ratio_of(precipitate_id)¶
Returns the mean aspect ratio of a precipitate in dependency of the time.
Only available if the morphology is set to
PrecipitateMorphology.NEEDLE
orPrecipitateMorphology.PLATE
.- Parameters
precipitate_id – The id of a precipitate can either be the phase name or an alias
- Returns
A tuple of two lists of floats (time [s], mean aspect ratio)
- get_mean_cubic_factor_of(precipitate_id)¶
Returns the mean cubic factor of a precipitate in dependency of the time. Only available if the morphology is set to
PrecipitateMorphology.CUBOID
.- Parameters
precipitate_id – The id of a precipitate can either be the phase name or an alias
- Returns
A tuple of two lists of floats (time [s], mean cubic factor)
- get_mean_particle_length_of(precipitate_id)¶
Returns the mean particle length of a precipitate in dependency of the time.
Only available if the morphology is set to
PrecipitateMorphology.NEEDLE
orPrecipitateMorphology.PLATE
.- Parameters
precipitate_id – The id of a precipitate can either be the phase name or an alias
- Returns
A tuple of two lists of floats (time [s], mean particle length [m])
- get_mean_radius_of(precipitate_id)¶
Returns the mean radius of a precipitate in dependency of the time.
- Parameters
precipitate_id – The id of a precipitate can either be phase name or alias
- Returns
A tuple of two lists of floats (time [s], mean radius [m])
- get_normalized_grain_size_distribution(time)¶
Returns the normalized number density distribution of a grains at a certain time.
- Parameters
time – The time [s]
- Returns
A tuple of two lists of floats (Normalized size, Frequency)
- get_normalized_number_density_distribution_of(precipitate_id, time)¶
Returns the normalized number density distribution of a precipitate at a certain time.
- Parameters
time – The time [s]
precipitate_id – The id of a precipitate can either be the phase name or an alias
- Returns
A tuple of two lists of floats (Normalized size, Frequency)
- get_nucleation_rate_of(precipitate_id)¶
Returns the nucleation rate of a precipitate in dependency of the time.
- Parameters
precipitate_id – The id of a precipitate can either be the phase name or an alias
- Returns
A tuple of two lists of floats (time [s], nucleation rate [m^-3 s^-1)
- get_number_density_distribution_for_particle_length_of(precipitate_id, time)¶
Returns the number density distribution of a precipitate in dependency of its mean particle length at a certain time.
- Parameters
time – The time [s]
precipitate_id – The id of a precipitate can either be the phase name or an alias
- Returns
A tuple of two lists of floats (particle length[m], number of particles per unit volume per unit length [m^-4])
- get_number_density_distribution_for_radius_of(precipitate_id, time)¶
Returns the number density distribution of a precipitate in dependency of its mean radius at a certain time.
- Parameters
time – The time [s]
precipitate_id – The id of a precipitate can either be the phase name or an alias
- Returns
A tuple of two lists of floats (radius [m], number of particles per unit volume per unit length [m^-4])
- get_number_density_of(precipitate_id)¶
Returns the particle number density of a precipitate in dependency of the time.
- Parameters
precipitate_id – The id of a precipitate can either be phase name or alias
- Returns
A tuple of two lists of floats (time [s], particle number density [m^-3])
- get_precipitate_composition_in_mole_fraction_of(precipitate_id, element_name)¶
Returns the precipitate composition (as mole fractions) of a certain element in dependency of the time.
- Parameters
precipitate_id – The id of a precipitate can either be phase name or alias
element_name – The element
- Returns
A tuple of two lists of floats (time [s], mole fraction)
- get_precipitate_composition_in_weight_fraction_of(precipitate_id, element_name)¶
Returns the precipitate composition (as weight fraction) of a certain element in dependency of the time.
- Parameters
precipitate_id – The id of a precipitate can either be phase name or alias
element_name – The element
- Returns
A tuple of two lists of floats (time [s], weight fraction)
- get_size_distribution_for_particle_length_of(precipitate_id, time)¶
Returns the size distribution of a precipitate in dependency of its mean particle length at a certain time.
- Parameters
time – The time [s]
precipitate_id – The id of a precipitate can either be the phase name or an alias
- Returns
A tuple of two lists of floats (particle length[m], number of particles per unit volume per unit length [m^-4])
- get_size_distribution_for_radius_of(precipitate_id, time)¶
Returns the size distribution of a precipitate in dependency of its mean radius at a certain time.
- Parameters
time – The time [s]
precipitate_id – The id of a precipitate can either be the phase name or an alias
- Returns
A tuple of two lists of floats (radius [m], number of particles per unit volume per unit length [m^-4])
- get_volume_fraction_of(precipitate_id)¶
Returns the volume fraction of a precipitate in dependency of the time.
- Parameters
precipitate_id – The id of a precipitate can either be the phase name or an alias
- Returns
A tuple of two lists of floats (time [s], volume fraction)
- invalidate()¶
Invalidates the object and frees the disk space used by it. This is only required if the disk space occupied by the object needs to be released during the calculation. No data can be retrieved from the object afterwards.
- save_to_disk(path)¶
Saves the result to disc. Note that a result is a folder, containing potentially many files. The result can later be loaded with
load_result_from_disk()
- Parameters
path – the path to the folder you want the result to be saved in. It can be relative or absolute.
- Returns
this
PrecipitationCalculationResult
object
- class +tc_toolbox.+precipitation.PrecipitationCalculationTTTorCCTResult(back)¶
Result of a TTT or CCT precipitation calculation.
- PrecipitationCalculationTTTorCCTResult(back)¶
Call base constructor:
tc_toolbox.precipitation.PrecipitationCalculationResult
.
- get_result_for_precipitate(precipitate_id)¶
Returns the calculated data of a TTT or CCT diagram for a certain precipitate.
- Parameters
precipitate_id – The id of a precipitate can either be the phase name or an alias
- Returns
A tuple of two lists of floats (time [s], temp [K])
- invalidate()¶
Invalidates the object and frees the disk space used by it. This is only required if the disk space occupied by the object needs to be released during the calculation. No data can be retrieved from the object afterwards.
- save_to_disk(path)¶
Saves the result to disc. Note that a result is a folder, containing potentially many files. The result can later be loaded with
load_result_from_disk()
- Parameters
path – the path to the folder you want the result to be saved in. It can be relative or absolute.
- Returns
this
PrecipitationCalculationResult
object
- class +tc_toolbox.+precipitation.PrecipitationIsoThermalCalculation(back)¶
Configuration for an isothermal precipitation calculation.
- PrecipitationIsoThermalCalculation(back)¶
Call base constructor:
tc_toolbox.AbstractCalculation
.
- calculate(timeout_in_minutes)¶
Runs the isothermal precipitation calculation.
- Parameters
timeout_in_minutes – Used to prevent the calculation from running longer than what is wanted, or from hanging. If the calculation runs longer than timeout_in_minutes, a UnrecoverableCalculationException will be thrown, the current TCPython-block will be unusable and a new TCPython block must be created for further calculations.
- Returns
A
PrecipitationCalculationSingleResult
which later can be used to get specific values from the calculated result
- get_configuration_as_string()¶
Returns detailed information about the current state of the calculation object.
Warning
The structure of the calculator objects is an implementation detail and might change between releases without notice. Therefore do not rely on the internal object structure.
- get_system_data()¶
Returns the content of the database for the currently loaded system. This can be used to modify the parameters and functions and to change the current system by using
with_system_modifications()
.Note
Parameters can only be read from unencrypted (i.e. user) databases loaded as *.tdb-file.
- Returns
The system data
- invalidate()¶
Invalidates the object and frees the disk space used by it. This is only required if the disk space occupied by the object needs to be released during the calculation. No data can be retrieved from the object afterwards.
- set_composition(element_name, value)¶
Sets the composition of the elements. The unit for the composition can be changed using
set_composition_unit()
. Default: Mole percent (CompositionUnit.MOLE_PERCENT
)- Parameters
element_name – The element
value – The composition (fraction or percent depending on the composition unit)
- Returns
This
PrecipitationIsoThermalCalculation
object
- set_composition_unit(unit_enum)¶
Sets the composition unit. Default: Mole percent (
CompositionUnit.MOLE_PERCENT
).- Parameters
unit_enum – The new composition unit
- Returns
This
PrecipitationIsoThermalCalculation
object
- set_simulation_time(simulation_time)¶
Sets the simulation time.
- Parameters
simulation_time – The simulation time [s]
- Returns
This
PrecipitationIsoThermalCalculation
object
- set_temperature(temperature)¶
Sets the temperature for the isothermal simulation.
- Parameters
temperature – the temperature [K]
- Returns
This
PrecipitationIsoThermalCalculation
object
- with_matrix_phase(matrix_phase)¶
Sets the matrix phase.
- Parameters
matrix_phase – The matrix phase
- Returns
This
PrecipitationIsoThermalCalculation
object
- with_numerical_parameters(numerical_parameters)¶
Sets the numerical parameters. If not specified, reasonable defaults are be used.
- Parameters
numerical_parameters – The parameters
- Returns
This
PrecipitationIsoThermalCalculation
object
- with_system_modifications(system_modifications)¶
Updates the system of this calculator with the supplied system modification (containing new phase parameters and system functions).
Note
This is only possible if the system has been read from unencrypted (i.e. user) databases loaded as a
*.tdb
-file.- Parameters
system_modifications – The system modification to be performed
- Returns
This
PrecipitationIsoThermalCalculation
object
- class +tc_toolbox.+precipitation.PrecipitationNonIsoThermalCalculation(back)¶
Configuration for a non-isothermal precipitation calculation.
- PrecipitationNonIsoThermalCalculation(back)¶
Call base constructor:
tc_toolbox.AbstractCalculation
.
- calculate(timeout_in_minutes)¶
Runs the non-isothermal precipitation calculation.
- Parameters
timeout_in_minutes – Used to prevent the calculation from running longer than what is wanted, or from hanging. If the calculation runs longer than timeout_in_minutes, a UnrecoverableCalculationException will be thrown, the current TCPython-block will be unusable and a new TCPython block must be created for further calculations.
- Returns
A
PrecipitationCalculationSingleResult
which later can be used to get specific values from the calculated result
- get_configuration_as_string()¶
Returns detailed information about the current state of the calculation object.
Warning
The structure of the calculator objects is an implementation detail and might change between releases without notice. Therefore do not rely on the internal object structure.
- get_system_data()¶
Returns the content of the database for the currently loaded system. This can be used to modify the parameters and functions and to change the current system by using
with_system_modifications()
.Note
Parameters can only be read from unencrypted (i.e. user) databases loaded as *.tdb-file.
- Returns
The system data
- invalidate()¶
Invalidates the object and frees the disk space used by it. This is only required if the disk space occupied by the object needs to be released during the calculation. No data can be retrieved from the object afterwards.
- set_composition(element_name, value)¶
Sets the composition of the elements. The unit for the composition can be changed using
set_composition_unit()
. Default: Mole percent (CompositionUnit.MOLE_PERCENT
)- Parameters
element_name – The element
value – The composition (fraction or percent depending on the composition unit)
- Returns
This
PrecipitationIsoThermalCalculation
object
- set_composition_unit(unit_enum)¶
Sets the composition unit. Default: Mole percent (
CompositionUnit.MOLE_PERCENT
).- Parameters
unit_enum – The new composition unit
- Returns
This
PrecipitationIsoThermalCalculation
object
- set_simulation_time(simulation_time)¶
Sets the simulation time.
- Parameters
simulation_time – The simulation time [s]
- Returns
This
PrecipitationNonThermalCalculation
object
- with_matrix_phase(matrix_phase)¶
Sets the matrix phase.
- Parameters
matrix_phase – The matrix phase
- Returns
This
PrecipitationIsoThermalCalculation
object
- with_numerical_parameters(numerical_parameters)¶
Sets the numerical parameters. If not specified, reasonable defaults are be used.
- Parameters
numerical_parameters – The parameters
- Returns
This
PrecipitationIsoThermalCalculation
object
- with_system_modifications(system_modifications)¶
Updates the system of this calculator with the supplied system modification (containing new phase parameters and system functions).
Note
This is only possible if the system has been read from unencrypted (i.e. user) databases loaded as a
*.tdb
-file.- Parameters
system_modifications – The system modification to be performed
- Returns
This
PrecipitationNonThermalCalculation
object
- with_temperature_profile(temperature_profile)¶
Sets the temperature profile to use with this calculation.
- Parameters
temperature_profile – the temperature profile object (specifying time / temperature points)
- Returns
This
PrecipitationNonThermalCalculation
object
- class +tc_toolbox.+precipitation.PrecipitationTTTCalculation(back)¶
Configuration for a TTT (Time-Temperature-Transformation) precipitation calculation.
- PrecipitationTTTCalculation(back)¶
Call base constructor:
tc_toolbox.AbstractCalculation
.
- calculate(timeout_in_minutes)¶
Runs the TTT diagram calculation.
- Parameters
timeout_in_minutes – Used to prevent the calculation from running longer than what is wanted, or from hanging. If the calculation runs longer than timeout_in_minutes, a UnrecoverableCalculationException will be thrown, the current TCPython-block will be unusable and a new TCPython block must be created for further calculations.
- Returns
A
PrecipitationCalculationTTTorCCTResult
which later can be used to get specific values from the calculated result.
- get_configuration_as_string()¶
Returns detailed information about the current state of the calculation object.
Warning
The structure of the calculator objects is an implementation detail and might change between releases without notice. Therefore do not rely on the internal object structure.
- get_system_data()¶
Returns the content of the database for the currently loaded system. This can be used to modify the parameters and functions and to change the current system by using
with_system_modifications()
.Note
Parameters can only be read from unencrypted (i.e. user) databases loaded as *.tdb-file.
- Returns
The system data
- invalidate()¶
Invalidates the object and frees the disk space used by it. This is only required if the disk space occupied by the object needs to be released during the calculation. No data can be retrieved from the object afterwards.
- set_composition(element_name, value)¶
Sets the composition of the elements. The unit for the composition can be changed using
set_composition_unit()
. Default: Mole percent (CompositionUnit.MOLE_PERCENT
)- Parameters
element_name – The element
value – The composition (fraction or percent depending on the composition unit)
- Returns
This
PrecipitationTTTCalculation
object
- set_composition_unit(unit_enum)¶
Sets the composition unit. Default: Mole percent (
CompositionUnit.MOLE_PERCENT
).- Parameters
unit_enum – The new composition unit
- Returns
This
PrecipitationTTTCalculation
object
- set_max_annealing_time(max_annealing_time)¶
Sets the maximum annealing time, i.e. the maximum time of the simulation if the stopping criterion is not reached.
- Parameters
max_annealing_time – the maximum annealing time [s]
- Returns
This
PrecipitationTTTCalculation
object
- set_max_temperature(max_temperature)¶
Sets the maximum temperature for the TTT diagram.
- Parameters
max_temperature – the maximum temperature [K]
- Returns
This
PrecipitationTTTCalculation
object
- set_min_temperature(min_temperature)¶
Sets the minimum temperature for the TTT diagram.
- Parameters
min_temperature – the minimum temperature [K]
- Returns
This
PrecipitationTTTCalculation
object
- set_temperature_step(temperature_step)¶
Sets the temperature step for the TTT diagram. If not set, the default value is 10 K.
- Parameters
temperature_step – the temperature step [K]
- Returns
This
PrecipitationTTTCalculation
object
- stop_at_percent_of_equilibrium_fraction(percentage)¶
Sets the stop criterion to a percentage of the overall equilibrium phase fraction, alternatively a required volume fraction can be specified (using
stop_at_volume_fraction_of_phase()
).- Parameters
percentage – the percentage to stop at (value between 0 and 100)
- Returns
This
PrecipitationTTTCalculation
object
- stop_at_volume_fraction_of_phase(volume_fraction)¶
Sets the stop criterion as a volume fraction of the phase, alternatively a required percentage of the equilibrium phase fraction can be specified (using
stop_at_percent_of_equilibria_fraction()
). Stopping at a specified volume fraction is the default setting.This setting is applied to all phases.
- Parameters
volume_fraction – the volume fraction to stop at (a value between 0 and 1)
- Returns
This
PrecipitationTTTCalculation
object
- with_matrix_phase(matrix_phase)¶
Sets the matrix phase.
- Parameters
matrix_phase – The matrix phase
- Returns
This
PrecipitationTTTCalculation
object
- with_numerical_parameters(numerical_parameters)¶
Sets the numerical parameters. If not specified, reasonable defaults are be used.
- Parameters
numerical_parameters – The parameters
- Returns
This
PrecipitationTTTCalculation
object
- with_system_modifications(system_modifications)¶
Updates the system of this calculator with the supplied system modification (containing new phase parameters and system functions).
Note
This is only possible if the system has been read from unencrypted (i.e. user) databases loaded as a
*.tdb
-file.- Parameters
system_modifications – The system modification to be performed
- Returns
This
PrecipitationTTTCalculation
object
- class +tc_toolbox.+precipitation.TransformationStrainCalculationOption¶
Options for calculating the transformation strain.
- class +tc_toolbox.+precipitation.VolumeFractionOfPhaseType¶
Unit of the volume fraction of a phase.