Skip to content

Node parameters and node targets: best practice #34

Description

@shumpohl

I am writing a node that performs an accumulation measurement in a single electron transistor. I am wondering what the intended way is to handle different parameters for multiple identical components. Let's say I have a chip with two SETs on the left and on the right.

This is the simplified version of my node parameters

class AccumulationParameters(NodeParameters):
    targets_name: ClassVar[str] = "locations"
    locations: Optional[list[Literal["left", "right"]]] = None
    maximal_current: float = 1e-9
    accumulation_voltage_range: tuple[float, float] = (0.0, 1.0)

My node creates a qua program that accumulates all targeted SETs in parallel.

However, it is unclear to me how to handle different parameters for different targets. Let's say I want to allow a maximal current of 2e-9 for the right dot but keep the default parameter for the left. What would be the idiomatic way to set this up?

The only two solutions I see are to either tune the SETs sequentially or add separate parameters for all targets to the NodeParameters. The first gives up on parallelization and I am unsure how the second should be implemented in a scalable and readable way that can be processed by the surrounding qualibrate tooling.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions