Package “scheil”¶
- class tc_toolbox.scheil.ScheilCalculationResult¶
Result of a Scheil calculation.
- Constructor Summary
- ScheilCalculationResult(back)¶
Call base constructor:
tc_toolbox.AbstractResult.
- Method Summary
- get_solid_phase_with_largest_mole_fraction()¶
Returns the name of the solid phase with the largest amount in terms of mole fraction at the end of the Scheil simulation.
- Returns:
Phase name
- get_stable_phases()¶
Returns all phases that were stable during a Scheil simulation.
- Returns:
The list of stable phases
- get_values_grouped_by_quantity_of(x_quantity, y_quantity, sort_and_merge)¶
Returns x-y-line data grouped by the multiple datasets of the specified quantities (for example in dependency of phases or components). Use
get_values_of()instead if you need no separation. The available quantities can be found in the documentation of the factory classScheilQuantity.Note
The different datasets might contain NaN-values between different subsections and might not be sorted even if the flag `sort_and_merge` has been set (because they might be unsortable due to their nature).
- Parameters:
x_quantity – The first Scheil quantity (“x-axis”), Console Mode syntax strings can be used as an alternative (for example “T”)
y_quantity – The second Scheil quantity (“y-axis”), Console Mode syntax strings can be used as an alternative (for example “NV”)
sort_and_merge – If True, the data is sorted and merged into as few subsections as possible (divided by NaN)
- Returns:
Containing the
ResultValueGroupdataset objects with their quantity labels as keys
- get_values_grouped_by_stable_phases_of(x_quantity, y_quantity, sort_and_merge)¶
Returns x-y-line data grouped by the sets of “stable phases” (for example “LIQUID” or “LIQUID + FCC_A1”). Use
get_values_of()instead if you need no separation. The available quantities can be found in the documentation of the factory classScheilQuantity.Note
The different datasets might contain NaN-values between different subsections and might not be sorted even if the flag `sort_and_merge` has been set (because they might be unsortable due to their nature).
- Parameters:
x_quantity – The first Scheil quantity (“x-axis”), Console Mode syntax strings can be used as an alternative (for example “T”)
y_quantity – The second Scheil quantity (“y-axis”), Console Mode syntax strings can be used as an alternative (for example “NV”)
sort_and_merge – If True, the data will be sorted and merged into as few subsections as possible (divided by NaN)
- Returns:
Containing the
ResultValueGroupdataset objects with their “stable phases” labels as keys
- get_values_of(x_quantity, y_quantity)¶
Returns sorted x-y-line data without any separation. Use
get_values_grouped_by_quantity_of()orget_values_grouped_by_stable_phases_of()instead if you need such a separation. The available quantities can be found in the documentation of the factory classScheilQuantity.Note
This method will always return sorted data without any NaN-values. In case of ambiguous quantities (for example: CompositionOfPhaseAsWeightFraction(“FCC_A1”, “All”)) that can give data that is hard to interpret. In such a case you need to choose the quantity in another way or use one of the other methods.
- Parameters:
x_quantity – The first Scheil quantity (“x-axis”), Console Mode syntax strings can be used as an alternative (for example “T”)
y_quantity – The second Scheil quantity (“y-axis”), Console Mode syntax strings can be used as an alternative (for example “NV”)
- Returns:
A tuple containing the x- and y-data in lists
- 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.
- Returns:
this
ScheilCalculationResultobject
- class tc_toolbox.scheil.ScheilCalculation¶
Configuration for a Scheil solidification calculation.
Note
Specify the settings, the calculation is performed with
calculate().- Constructor Summary
- ScheilCalculation(back)¶
Call base constructor:
tc_toolbox.AbstractCalculation.
- Method Summary
- calculate(timeout_in_minutes)¶
Runs the Scheil 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
ScheilCalculationResultwhich later can be used to get specific values from the simulation.
- disable_global_minimization()¶
Disables global minimization.
Default: Enabled
Note
When enabled, a global minimization test is performed when an equilibrium is reached. This costs more computer time but the calculations are more robust.
- Returns:
This
ScheilCalculationobject
- enable_global_minimization()¶
Enables global minimization.
Default: Enabled
Note
When enabled, a global minimization test is performed when an equilibrium is reached. This costs more computer time but the calculations are more robust.
- Returns:
This
ScheilCalculationobject
- 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(component_name, value)¶
Sets the composition of a component. The unit for the composition can be changed using
set_composition_unit().Default: Mole percent (
CompositionUnit.MOLE_PERCENT)- Parameters:
component_name – The component
value – The composition value [composition unit defined for the calculation]
- Returns:
This
ScheilCalculationobject
- set_composition_unit(unit_enum)¶
Sets the composition unit.
Default: Mole percent (
CompositionUnit.MOLE_PERCENT).- Parameters:
unit_enum – The new composition unit
- Returns:
This
ScheilCalculationobject
- set_start_temperature(temperature_in_kelvin)¶
Sets the start temperature.
Default: 2500.0 K
Warning
The start temperature needs to be higher than the liquidus temperature of the alloy.
- Parameters:
temperature_in_kelvin – The temperature [K]
- Returns:
This
ScheilCalculationobject
- with_calculation_type(scheil_calculation_type)¶
Chooses a specific Scheil calculation.
ClassicScheil for only setting fast diffusers.
ScheilBackDiffusion enables back diffusion in the solid primary phase and optionally fast diffusers in all solid phases.
ScheilSoluteTrapping enables solute trapping in the solid primary phase.
- Parameters:
scheil_calculation_type – Type of Scheil calculation, either ScheilClassic, ScheilBackDiffusion or ScheilSoluteTrapping
- Returns:
This
ScheilCalculationobject
- with_options(options)¶
Sets the Scheil simulation options.
- Parameters:
options – The Scheil simulation options
- Returns:
This
ScheilCalculationobject
- 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
ScheilCalculationobject
- class tc_toolbox.scheil.SoluteTrappingModel¶
The solute trapping model to calculate the relation between migration speed and solute partitioning at the liquid/primary solid interface.
- class tc_toolbox.scheil.ConstantSecondaryDendriteArmSpacing¶
Configures a constant secondary dendrite arm spacing used by Scheil with back diffusion. The secondary dendrite arm spacing can either be provided by the user or taken from the defaults.
- Constructor Summary
- ConstantSecondaryDendriteArmSpacing(secondary_dendrite_arm_spacing)¶
Configures a constant secondary dendrite arm spacing used by Scheil with back diffusion. The secondary dendrite arm spacing can either be provided by the user or taken from the defaults.
Default: 50 µm
- Parameters:
secondary_dendrite_arm_spacing – The dendrite arm spacing [m]
- Property Summary
- Method Summary
- static calculate_secondary_dendrite_arm_spacing()¶
Calculate the secondary dendrite arm spacing based on the following equation:
c * cooling_rate^(-n)withcandnbeing provided either by the user or taken from the defaults.Use the methods provide by
CalculateSecondaryDendriteArmSpacingto configure the parameters.- Returns:
A
CalculateSecondaryDendriteArmSpacing
- static constant_secondary_dendrite_arm_spacing(secondary_dendrite_arm_spacing)¶
Assuming constant secondary dendrite arm spacing, provided either by the user or taken from the defaults.
Default: 50 µm
- Parameters:
secondary_dendrite_arm_spacing – The dendrite arm spacing [m]
- Returns:
A
ConstantSecondaryDendriteArmSpacing
- disable_delta_ferrite_to_austenite_transition()¶
Turns off the delta ferrite BCC to austenite FCC transition.
Default: Delta ferrite to austenite transition is off. :return: This
ConstantSecondaryDendriteArmSpacingobject
- enable_delta_ferrite_to_austenite_transition()¶
Turns on the delta ferrite BCC to austenite FCC transition.
Default: Delta ferrite to austenite transition is off. :return: This
ConstantSecondaryDendriteArmSpacingobject
- static scheil_back_diffusion()¶
Configuration for back diffusion in the solid primary phase.
Warning
This feature has only effect on systems with diffusion data (typically a mobility database). If used for a system without diffusion data, a normal Scheil calculation is done.
- Returns:
A
ScheilBackDiffusion
- static scheil_classic()¶
Configuration for Classic Scheil with fast diffusers.
- Returns:
A
ScheilClassic
- static scheil_solute_trapping()¶
Configures the Scheil solute trapping settings. The used solidification speed equation is Scanning speed * cos(angle) with Scanning speed and angle being provided either by the user or taken from the defaults.
- Returns:
A
ScheilSoluteTrapping
- set_cooling_rate(cooling_rate)¶
Sets the cooling rate.
Default: 1.0 K/s
An increased value moves the result from equilibrium toward a Scheil-Gulliver calculation.
- Parameters:
cooling_rate – The cooling rate [K/s]
- Returns:
This
ConstantSecondaryDendriteArmSpacingobject
- set_fast_diffusing_elements(element_names)¶
Sets elements as fast diffusing. This allows redistribution of these elements in both the solid and liquid parts of the alloy.
Default: No fast-diffusing elements.
- Parameters:
element_names – The elements
- Returns:
This
ConstantSecondaryDendriteArmSpacingobject
- set_primary_phasename(primary_phase_name)¶
Sets the name of the primary phase.
The primary phase is the phase where the back diffusion takes place. If AUTOMATIC is selected, the program tries to find the phase which will give the most back diffusion. That behavior can be overridden by selecting a specific primary phase.
Default: AUTOMATIC
- Parameters:
primary_phase_name – The phase name (or AUTOMATIC)
- Returns:
This
ConstantSecondaryDendriteArmSpacingobject
- class tc_toolbox.scheil.ScheilCalculationType¶
Specific configuration for the different Scheil calculation types
- Method Summary
- static scheil_back_diffusion()¶
Configuration for back diffusion in the solid primary phase.
Warning
This feature has only effect on systems with diffusion data (typically a mobility database). If used for a system without diffusion data, a normal Scheil calculation is done.
- Returns:
A
ScheilBackDiffusion
- static scheil_classic()¶
Configuration for Classic Scheil with fast diffusers.
- Returns:
A
ScheilClassic
- static scheil_solute_trapping()¶
Configures the Scheil solute trapping settings. The used solidification speed equation is Scanning speed * cos(angle) with Scanning speed and angle being provided either by the user or taken from the defaults.
- Returns:
A
ScheilSoluteTrapping
- class tc_toolbox.scheil.InterfaceDrivingForceModel¶
The interface driving force model (free energy change at the liquid/primary solid interface) that is used to evaluate the migration speed in comparison with the maximum velocity.
- class tc_toolbox.scheil.ScheilOptions¶
Options for the Scheil simulation.
- Constructor Summary
- ScheilOptions()¶
Options for the Scheil simulation. Constructs an instance of
ScheilOptions.
- Property Summary
- Method Summary
- calculate_from_gas()¶
Calculates the evaporation temperature if a gas phase is selected in the system, and then calculates equilibria in the gas+liquid and liquid regions until liquidus temperature is reached.
Default: Calculation starts from liquidus temperature.
- Returns:
This
ScheilOptionsobject
- calculate_from_liquidus()¶
Solidification calculation starting from the liquidus temperature. Liquid properties between start temperature and liquidus are not obtainable.
Default: Calculation starts from liquidus temperature.
- Returns:
This
ScheilOptionsobject
- calculate_from_start_temperature()¶
Calculation of equilibria from start temperature at 50 K intervals until liquidus temperature is reached, using the temperature defined with
ScheilCalculation.set_start_temperature(). This option makes it possible to obtain properties of the liquid phase before the solidification starts.Default: Calculation starts from liquidus temperature.
- Returns:
This
ScheilOptionsobject
- calculate_to_end_of_scheil()¶
Stops the calculation when the Scheil calculation is finished.
Default: Calculation stops when the Scheil calculation is finished.
- Returns:
This
ScheilOptionsobject
- calculate_to_temperature_below_solidus(number_of_steps, final_temperature)¶
Calculates properties in the solid state, for the phase compositions and fractions at the end of the Scheil calculation.
Default: Calculation stops when the Scheil calculation is finished.
- Parameters:
number_of_steps – Calculates properties for the given number of temperatures, down to the final temperature.
final_temperature – The final (lowest) temperature where the calculation is performed.
- Returns:
This
ScheilOptionsobject
- disable_approximate_driving_force_for_metastable_phases()¶
Disables the approximation of the driving force for metastable phases.
Default: Enabled
Note
When enabled, the metastable phases are included in all iterations. However, these may not have reached their most favorable composition and thus their driving forces may be only approximate.
- Returns:
This
ScheilOptionsobject
- disable_control_step_size_during_minimization()¶
Disables stepsize control during minimization (non-global).
Default: Enabled
- Returns:
This
ScheilOptionsobject
- disable_equilibrium_solidification_calculation()¶
Skips the property (one axis) diagram calculation of solidification under equilibrium conditions, before the Scheil solidification calculation starts.
In general it is not necessary to perform this calculation.
Default: Disabled. The equilibrium solidification calculation is skipped.
- Returns:
This
ScheilOptionsobject
- disable_evaporation_property_calculation()¶
Disables calculation of evaporation properties.
Default: Disabled. The evaporation properties are not calculated.
- Returns:
This
ScheilOptionsobject
- disable_force_positive_definite_phase_hessian()¶
Disables forcing of positive definite phase Hessian. This determines how the minimum of an equilibrium state in a normal minimization procedure (non-global) is reached. For details, search the Thermo-Calc documentation for “Hessian minimization”.
Default: Enabled
- Returns:
This
ScheilOptionsobject
- enable_approximate_driving_force_for_metastable_phases()¶
Enables the approximation of the driving force for metastable phases.
Default: Enabled
Note
When enabled, the metastable phases are included in all iterations. However, these may not have reached their most favorable composition and thus their driving forces may be only approximate.
- Returns:
This
ScheilOptionsobject
- enable_control_step_size_during_minimization()¶
Enables stepsize control during normal minimization (non-global).
Default: Enabled
- Returns:
This
ScheilOptionsobject
- enable_equilibrium_solidification_calculation()¶
Performs a property (one axis) diagram calculation of solidification under equilibrium conditions, before the Scheil solidification calculation starts, in the same way as is typically done in graphical and console mode.
In general it is not necessary to perform this calculation.
Default: Disabled. The equilibrium solidification calculation is skipped.
- Returns:
This
ScheilOptionsobject
- enable_evaporation_property_calculation()¶
Enables calculation of the properties molar mass of gas, driving force for evaporation and evaporation enthalpy. The calculation requires the gas phase to be selected.
Default: Disabled. The evaporation properties are not calculated.
- Returns:
This
ScheilOptionsobject
- enable_force_positive_definite_phase_hessian()¶
Enables forcing of positive definite phase Hessian. This determines how the minimum of an equilibrium state in a normal minimization procedure (non-global) is reached. For details, search the Thermo-Calc documentation for “Hessian minimization”.
Default: Enabled
- Returns:
This
ScheilOptionsobject
- set_gas_phase(phase_name)¶
Sets the phase used as the gas phase.
Default: The phase “GAS”.
- Parameters:
phase_name – The phase name
- Returns:
This
ScheilOptionsobject
- set_global_minimization_max_grid_points(max_grid_points)¶
Sets the maximum number of grid points in global minimization. ** Only applicable if global minimization is actually used**.
Default: 2000 points
- Parameters:
max_grid_points – The maximum number of grid points
- Returns:
This
ScheilOptionsobject
- set_global_minimization_test_interval(global_test_interval)¶
Sets the interval for the global test.
Default: 10
- Parameters:
global_test_interval – The global test interval
- Returns:
This
ScheilOptionsobject
- set_liquid_phase(phase_name)¶
Sets the phase used as the liquid phase.
Default: The phase “LIQUID”.
- Parameters:
phase_name – The phase name
- Returns:
This
ScheilOptionsobject
- set_max_no_of_iterations(max_no_of_iterations)¶
Set the maximum number of iterations.
Default: max. 500 iterations
Note
As some models give computation times of more than 1 CPU second/iteration, this number is also used to check the CPU time and the calculation stops if 500 CPU seconds/iterations are used.
- Parameters:
max_no_of_iterations – The max. number of iterations
- Returns:
This
ScheilOptionsobject
- set_required_accuracy(accuracy)¶
Sets the required relative accuracy.
Default: 1.0E-6
Note
This is a relative accuracy, and the program requires that the relative difference in each variable must be lower than this value before it has converged. A larger value normally means fewer iterations but less accurate solutions. The value should be at least one order of magnitude larger than the machine precision.
- Parameters:
accuracy – The required relative accuracy
- Returns:
This
ScheilOptionsobject
- set_smallest_fraction(smallest_fraction)¶
Sets the smallest fraction for constituents that are unstable.
It is normally only in the gas phase that you can find such low fractions.
The default value for the smallest site-fractions is 1E-12 for all phases except for IDEAL phase with one sublattice site (such as the GAS mixture phase in many databases) for which the default value is always as 1E-30.
- Parameters:
smallest_fraction – The smallest fraction for constituents that are unstable
- Returns:
This
ScheilOptionsobject
- set_temperature_step(temperature_step_in_kelvin)¶
Sets the temperature step. Decreasing the temperature step increases the accuracy, but the default value is usually adequate.
Default step: 1.0 K
- Parameters:
temperature_step_in_kelvin – The temperature step [K]
- Returns:
This
ScheilOptionsobject
- terminate_on_fraction_of_liquid_phase(fraction_to_terminate_at)¶
Sets the termination condition to a specified remaining fraction of liquid phase.
Default: Terminates at 0.01 fraction of liquid phase.
Note
Either the termination criterion is set to a temperature or fraction of liquid limit, both together are not possible.
- Parameters:
fraction_to_terminate_at – the termination fraction of liquid phase (value between 0 and 1)
- Returns:
This
ScheilOptionsobject
- terminate_on_temperature(temperature_in_kelvin)¶
Sets the termination condition to a specified temperature.
Default: Terminates at 0.01 fraction of liquid phase, i.e. not at a specified temperature.
Note
Either the termination criterion is set to a temperature or fraction of liquid limit, both together are not possible.
- Parameters:
temperature_in_kelvin – the termination temperature [K]
- Returns:
This
ScheilOptionsobject
- class tc_toolbox.scheil.CalculateSecondaryDendriteArmSpacing¶
Configures a secondary dendrite arm spacing calculation used by Scheil with back diffusion. The used equation is
c * cooling_rate^(-n)withcandnbeing provided either by the user or taken from the defaults.- Constructor Summary
- CalculateSecondaryDendriteArmSpacing()¶
Configures a secondary dendrite arm spacing calculation used by Scheil with back diffusion. The used equation is
c * cooling_rate^(-n)withcandnbeing provided either by the user or taken from the defaults. Constructs an instance ofCalculateSecondaryDendriteArmSpacing.
- Property Summary
- Method Summary
- static calculate_secondary_dendrite_arm_spacing()¶
Calculate the secondary dendrite arm spacing based on the following equation:
c * cooling_rate^(-n)withcandnbeing provided either by the user or taken from the defaults.Use the methods provide by
CalculateSecondaryDendriteArmSpacingto configure the parameters.- Returns:
A
CalculateSecondaryDendriteArmSpacing
- static constant_secondary_dendrite_arm_spacing(secondary_dendrite_arm_spacing)¶
Assuming constant secondary dendrite arm spacing, provided either by the user or taken from the defaults.
Default: 50 µm
- Parameters:
secondary_dendrite_arm_spacing – The dendrite arm spacing [m]
- Returns:
A
ConstantSecondaryDendriteArmSpacing
- disable_delta_ferrite_to_austenite_transition()¶
Turns off the delta ferrite BCC to austenite FCC transition.
Default: Delta ferrite to austenite transition is off. :return: This
CalculateSecondaryDendriteArmSpacingobject
- enable_delta_ferrite_to_austenite_transition()¶
Turns on the delta ferrite BCC to austenite FCC transition.
Default: Delta ferrite to austenite transition is off. :return: This
CalculateSecondaryDendriteArmSpacingobject
- static scheil_back_diffusion()¶
Configuration for back diffusion in the solid primary phase.
Warning
This feature has only effect on systems with diffusion data (typically a mobility database). If used for a system without diffusion data, a normal Scheil calculation is done.
- Returns:
A
ScheilBackDiffusion
- static scheil_classic()¶
Configuration for Classic Scheil with fast diffusers.
- Returns:
A
ScheilClassic
- static scheil_solute_trapping()¶
Configures the Scheil solute trapping settings. The used solidification speed equation is Scanning speed * cos(angle) with Scanning speed and angle being provided either by the user or taken from the defaults.
- Returns:
A
ScheilSoluteTrapping
- set_c(c)¶
Sets the scaling factor
cin the governing equationc * cooling_rate^(-n).Default: 50 µm
- Parameters:
c – The scaling factor [m]
- Returns:
This
CalculateSecondaryDendriteArmSpacingobject
- set_cooling_rate(cooling_rate)¶
Sets the cooling rate.
Default: 1.0 K/s
An increased value moves the result from equilibrium toward a Scheil-Gulliver calculation.
- Parameters:
cooling_rate – The cooling rate [K/s]
- Returns:
This
CalculateSecondaryDendriteArmSpacingobject
- set_fast_diffusing_elements(element_names)¶
Sets elements as fast diffusing. This allows redistribution of these elements in both the solid and liquid parts of the alloy.
Default: No fast-diffusing elements.
- Parameters:
element_names – The elements
- Returns:
This
CalculateSecondaryDendriteArmSpacingobject
- set_n(n)¶
Sets the exponent
nin the governing equationc * cooling_rate^(-n).Default: 0.33
- Parameters:
n – The exponent [-]
- Returns:
This
CalculateSecondaryDendriteArmSpacingobject
- set_primary_phasename(primary_phase_name)¶
Sets the name of the primary phase.
The primary phase is the phase where the back diffusion takes place. If AUTOMATIC is selected, the program tries to find the phase which will give the most back diffusion. That behavior can be overridden by selecting a specific primary phase.
Default: AUTOMATIC
- Parameters:
primary_phase_name – The phase name (or AUTOMATIC)
- Returns:
This
CalculateSecondaryDendriteArmSpacingobject
- class tc_toolbox.scheil.ScheilClassic¶
Configuration for Classic Scheil with fast diffusers.
- Constructor Summary
- ScheilClassic()¶
Configuration for Classic Scheil when fast diffusers are included. Constructs an instance of
ScheilClassic.
- Property Summary
- Method Summary
- disable_delta_ferrite_to_austenite_transition()¶
Turns off the delta ferrite BCC to austenite FCC transition.
Default: Delta ferrite to austenite transition is off. :return: This
ScheilClassicobject
- enable_delta_ferrite_to_austenite_transition()¶
Turns on the delta ferrite BCC to austenite FCC transition.
Default: Delta ferrite to austenite transition is off. :return: This
ScheilClassicobject
- static scheil_back_diffusion()¶
Configuration for back diffusion in the solid primary phase.
Warning
This feature has only effect on systems with diffusion data (typically a mobility database). If used for a system without diffusion data, a normal Scheil calculation is done.
- Returns:
A
ScheilBackDiffusion
- static scheil_classic()¶
Configuration for Classic Scheil with fast diffusers.
- Returns:
A
ScheilClassic
- static scheil_solute_trapping()¶
Configures the Scheil solute trapping settings. The used solidification speed equation is Scanning speed * cos(angle) with Scanning speed and angle being provided either by the user or taken from the defaults.
- Returns:
A
ScheilSoluteTrapping
- set_fast_diffusing_elements(element_names)¶
Sets elements as fast diffusing. This allows redistribution of these elements in both the solid and liquid parts of the alloy.
Default: No fast-diffusing elements.
- Parameters:
element_names – The elements
- Returns:
This
ScheilClassicobject
- class tc_toolbox.scheil.ScheilBackDiffusion¶
Configuration for back diffusion in the solid primary phase.
Warning
This feature has only effect on systems with diffusion data (typically a mobility database). If used for a system without diffusion data, a normal Scheil calculation is done.
- Method Summary
- static calculate_secondary_dendrite_arm_spacing()¶
Calculate the secondary dendrite arm spacing based on the following equation:
c * cooling_rate^(-n)withcandnbeing provided either by the user or taken from the defaults.Use the methods provide by
CalculateSecondaryDendriteArmSpacingto configure the parameters.- Returns:
A
CalculateSecondaryDendriteArmSpacing
- static constant_secondary_dendrite_arm_spacing(secondary_dendrite_arm_spacing)¶
Assuming constant secondary dendrite arm spacing, provided either by the user or taken from the defaults.
Default: 50 µm
- Parameters:
secondary_dendrite_arm_spacing – The dendrite arm spacing [m]
- Returns:
A
ConstantSecondaryDendriteArmSpacing
- static scheil_back_diffusion()¶
Configuration for back diffusion in the solid primary phase.
Warning
This feature has only effect on systems with diffusion data (typically a mobility database). If used for a system without diffusion data, a normal Scheil calculation is done.
- Returns:
A
ScheilBackDiffusion
- static scheil_classic()¶
Configuration for Classic Scheil with fast diffusers.
- Returns:
A
ScheilClassic
- static scheil_solute_trapping()¶
Configures the Scheil solute trapping settings. The used solidification speed equation is Scanning speed * cos(angle) with Scanning speed and angle being provided either by the user or taken from the defaults.
- Returns:
A
ScheilSoluteTrapping
- class tc_toolbox.scheil.ScheilSoluteTrapping¶
Configures the Scheil solute trapping settings. The used solidification speed equation is Scanning speed * cos(angle) with Scanning speed and angle being provided either by the user or taken from the defaults.
- Constructor Summary
- ScheilSoluteTrapping()¶
Configures the Scheil solute trapping settings. The used solification speed equation is Scanning speed * cos(angle) with Scanning speed and angle being provided either by the user or taken from the defaults. Constructs an instance of
ScheilSoluteTrapping.
- Property Summary
- Method Summary
- static scheil_back_diffusion()¶
Configuration for back diffusion in the solid primary phase.
Warning
This feature has only effect on systems with diffusion data (typically a mobility database). If used for a system without diffusion data, a normal Scheil calculation is done.
- Returns:
A
ScheilBackDiffusion
- static scheil_classic()¶
Configuration for Classic Scheil with fast diffusers.
- Returns:
A
ScheilClassic
- static scheil_solute_trapping()¶
Configures the Scheil solute trapping settings. The used solidification speed equation is Scanning speed * cos(angle) with Scanning speed and angle being provided either by the user or taken from the defaults.
- Returns:
A
ScheilSoluteTrapping
- set_angle(alpha)¶
Sets the transformation angle alpha between the solid/liquid boundary and laser scanning direction.
Default: 45.0
- Parameters:
alpha – The transformation angle [degree]
- Returns:
This
ScheilSoluteTrappingobject
- set_interface_driving_force_model(model)¶
Sets the interface driving force model (free energy change at the liquid/primary solid interface) that is used to evaluate the migration speed in comparison with the maximum velocity.
It can be the DRIVING_ENERGY or MIGRATION_ENERGY model.
Default: DRIVING_ENERGY
- Parameters:
model – The interface driving force model
- Returns:
This
ScheilSoluteTrappingobject
- set_maximum_velocity_for_infinite_driving_force(maximum_velocity)¶
Sets the maximum migration speed of the liquid/primary solid interface when the driving force is infinite.
Default: 2000 m/s
- Parameters:
maximum_velocity – The maximum migration speed [m/s]
- Returns:
This
ScheilSoluteTrappingobject
- set_primary_phasename(primary_phase_name)¶
Sets the name of the primary phase.
The primary phase is the phase where solute trapping takes place. A necessary condition for this phase is that the phase definition contains all of the elements that are chosen in the system. When AUTOMATIC is selected, the program tries to find a suitable primary phase that fills this condition.
Default: AUTOMATIC
- Parameters:
primary_phase_name – The phase name (or AUTOMATIC)
- Returns:
This
ScheilSoluteTrappingobject
- set_scanning_speed(scanning_speed)¶
Sets the scanning speed.
Default: 1 m/s
- Parameters:
scanning_speed – The scaling factor [m/s]
- Returns:
This
ScheilSoluteTrappingobject
- set_solute_trapping_model(model)¶
Sets the solute trapping model for the Scheil calculation.
The model is used to calculate the relation between migration speed and solute partitioning at the liquid/primary solid interface, developed by either Aziz or Hillert.
Default: AZIZ
- Parameters:
model – The solute trapping model
- Returns:
This
ScheilSoluteTrappingobject
- set_trans_interface_diffusivity_for(element, pre_factor, activation_energy)¶
Sets the solute diffusivity across the interface between liquid and primary dendrite phase for a specified element, defined by an Arrhenius-type equation.
Default: 5.0e-9 m**2/s for the pre-factor and 0 J/mol for the activation energy
Note
If the trans-interface diffusivity had previously been set for all elements, this setting will be completely removed.
- Parameters:
element – The element for which the trans-interface diffusivity is to be set
pre_factor – The pre-exponential factor in the Arrhenius equation for the trans-interface diffusivity [m**2/s]
activation_energy – The activation energy in the Arrhenius equation for the trans-interface diffusivity [J/mol]
- Returns:
This
ScheilSoluteTrappingobject
- set_trans_interface_diffusivity_for_all_elements(pre_factor, activation_energy)¶
Sets the solute diffusivity across the interface between liquid and primary dendrite phase for all elements, defined by an Arrhenius-type equation.
Default: 5.0e-9 m**2/s for the pre-factor and 0 J/mol for the activation energy
- Parameters:
pre_factor – The pre-exponential factor in the Arrhenius equation for the trans-interface diffusivity [m**2/s].
activation_energy – The activation energy in the Arrhenius equation for the trans-interface diffusivity [J/mol].
- Returns:
This
ScheilSoluteTrappingobject