febid.Process.Process#

class Process(structure, equation_values, timings, deposition_scaling=1, temp_tracking=True, name=None)[source]#

Bases: object

Class representing the core deposition process. It contains all necessary arrays, variables, parameters and methods to construct a continuous deposition process.

Methods

check_cells_filled

Check if any deposit cells are fully filled

deposition

Calculate an increment of a deposited volume for all irradiated cells over a time step

diffusion_coefficient

Calculate surface diffusion coefficient for every surface cell.

diffusion_coefficient_expression

Calculate surface diffusion coefficient at a specified temperature.

equilibrate

Bring precursor coverage to a steady state with a given accuracy

get_dt

heat_transfer

Define heating effect on the process

precursor_density

Calculate an increment of the precursor density for every surface cell

residence_time

Calculate residence time for every surface cell.

residence_time_expression

Calculate residence time at the given temperature :type temp: :param temp: temperature, K :return:

update_helper_arrays

Define new views to data arrays, create axillary indexes and flatten beam_matrix array

update_surface

Updates all data arrays after a cell is filled.

view_dt

Attributes

deposited_vol

kd

kr

max_temperature

nd

Calculate depleted precursor coverage

nr

Calculate replenished precursor coverage

precursor_min

check_cells_filled()[source]#

Check if any deposit cells are fully filled

Returns:

bool

deposition()[source]#

Calculate an increment of a deposited volume for all irradiated cells over a time step

Returns:

diffusion_coefficient()[source]#

Calculate surface diffusion coefficient for every surface cell.

Returns:

diffusion_coefficient_expression(temp=294)[source]#

Calculate surface diffusion coefficient at a specified temperature.

Parameters:

temp – temperature, K

Returns:

equilibrate(eps=0.0001, max_it=10000)[source]#

Bring precursor coverage to a steady state with a given accuracy

It is advised to run this method after updating the surface in order to determine a more accurate precursor density value for newly acquired cells

Parameters:

eps – desired accuracy

heat_transfer(heating)[source]#

Define heating effect on the process

Parameters:

heating – volumetric heat sources distribution

Returns:

property nd#

Calculate depleted precursor coverage

Returns:

property nr#

Calculate replenished precursor coverage

Returns:

precursor_density()[source]#

Calculate an increment of the precursor density for every surface cell

Returns:

residence_time()[source]#

Calculate residence time for every surface cell.

Returns:

residence_time_expression(temp=294)[source]#

Calculate residence time at the given temperature :type temp: :param temp: temperature, K :return:

update_helper_arrays()[source]#

Define new views to data arrays, create axillary indexes and flatten beam_matrix array

Returns:

update_surface()[source]#

Updates all data arrays after a cell is filled.

Returns: