Tasks Overview
Contents
Tasks Overview¶
There are a lot of tasks defined in the package. All of these methods are available in alab_experiment_helper.tasks
.
You can use them like this
from alab_experiment_helper.tasks import *
from alab_experiment_helper import Experiment
...
experiment = Experiment(name="test")
samples = [experiment.add_sample(name="sample1"), experiment.add_sample(name="sample2")]
heating(samples, **task_params)
# more operations goes here
Here is the brief introduction to each tasks.
Dispensing¶
Dispensing refers to the process done by Labman robot. It is the first step of the experiment. A .csv
file is
required as the input file for Labman system.
-
dispensing
(samples, input_file_path)[source] Dispense samples according to the given recipes in
.csv
format.The number of input samples must be equal to the number of recipes * replicates.
- Parameters
samples (
List
[Sample
]) – the samples to be operated on, in this setting, each sample is a crucibleinput_file_path (
Union
[str
,Path
]) – the path to the input file, which is a csv file.
Heating¶
Heating refers to the operation to put the sample into the box furnace and heat it to certain temperature.
For convenience, there is a simple_heating
to make the tasks easier.
-
simple_heating
(samples, temperature, duration_hour, ramp_rate_per_min=5)[source] Simple heating task. The furnace will be ramped up with the given
ramp_temp_per_min
and then hold at this temperature for the givenduration_hour
at giventemperature
. After dwelling, it will be cooled down to some temperature (set by the driver, e.g. 400 °C) and be taken out of the furnace.- Parameters
samples (
List
[Sample
]) – List of samples to heat.temperature (
int
) – Temperature (°C) to heat to, which should be a number between 0 and 1100. It specifies the temperature of dwelling.duration_hour (
float
) – Duration of heating in hours (e.g. 12 hours). It specifies the duration hours of dwelling. It will first be converted to minute (rounded to integer) in the driver code.ramp_rate_per_min (
int
) – Temperature change per minute during heating up process (e.g. 5 °C/min). By default, it is 5 °C/min.
Also, there is a heating
function to submit more complex heating tasks.
-
heating
(samples, setpoints)[source] The heating task, where the function takes a list of setpoints. Each setpoint is a list of two values, the first one is the temperature (°C) and the second one is the duration (minutes), which is similar to the heating profile configuration in the real furnace.
- Parameters
samples (
List
[Sample
]) – The samples to be heatedsetpoints (
List
[List
[int
]]) – The setpoints to be used for heating.
Heating with Atmosphere¶
This operation will send samples to the tube furnace and heat them with certain atmosphere. Apart from the
atmosphere and flow rate, this operation has same parameter as heating
.
-
heating_with_atmosphere
(samples, setpoints, atmosphere, flow_rate=100)[source] Annealing in the tube furnaces. You can select the atmosphere for heating. Four samples at a time for heating. The parameter setpoints is a list of [temperature, duration] pairs. The temperature is in °C and the duration is in minutes. The range of flow_rate should be between 0 and 1000.
- Parameters
samples (
List
[Sample
]) – the samples to heatsetpoints (
List
[List
[int
]]) – list of [temperature, duration], e.g., [[300, 60], [300, 7200]] means to heat up to 300°C in 60 min in and keep it at 300°C for 12 h.atmosphere (
Literal
[‘Ar’, ‘N2’, ‘vacuum’]) – the gas atmosphere for the operation. You can choose betweenAr
,N2
andvacuum
.flow_rate (
float
) – the flow rate of the gas in the furnace.
Scraping¶
Scraping is the operation to remove the sample powders out of the crucible after annealing. Since it will use a ball milling method, user need to specify the shaking time and the number of milling balls for shaking.
-
scraping
(samples, duration_min=6, ball_number=8)[source] Move the sample out of crucibles with ball milling. The
duration_min
specifies the duration of the shaking, and theball_number
specifies the number of balls to be used (5mm Al2O3 balls).- Parameters
samples (
Sample
) – The sample to be operated on.duration_min (
int
) – The duration of the shaking in minutes.ball_number (
int
) – The number of balls to be used (dispensed by milling ball dispenser).
XRD¶
Do XRD on the sample.