QD module

This module contains a driver class for Quantum Design instruments, wrapping MultiPyVu.

Examples

Below is a minimum working example showing how to use a PM100D power meter.

from Devices.QD import PPMS

device = PPMS("8fvfvd3.dhcp.nd.edu")

# Go to 77 K at a rate of 2 K/min using the fast settle mode
device.setTemperature(77.0, 2.0, True)
# Wait until the temperature is reached (or a maximum of 4 hours),
# plus another 10 minutes for sample thermalization
device.waitFor(timeout = 4*3600, delay = 600, temp = True)

# Set up a resistance measurement on bridge 1 with a limit of 100 uA, 100 uW and 95 mV,
# and a built-in waiting period of 5 seconds to allow the bridge to configure itself
device.setupBridge(1, channelOn = True, currentLimit = 100, powerLimit = 100, voltageLimit = 95, delay = 5.0):
# Measure resistance
print(f'Sample resistance: {device.getResistance(2)[0]} Ohm')
class QD.PPMS(address)[source]

Bases: object

Driver class for Quantum Design PPMS systems.

This class implements the client only. If you want to run this on the same machine MultiVu is running on, make sure to start the server manually (python -m MultiPyVu) and use 127.0.0.1 as the address given to the client.

Initializes the PPMS connection.

Parameters:

address (str) – The IP address or hostname of the server.

convertMagUnits(value, startingUnit, targetUnit)[source]

Magnetic unit conversion.

Parameters:
  • value (float) – Numerical value to be converted.

  • startingUnit (str) – Unit in which the value is specified. One of “Oe”, “A/m” or “T”.

  • targetUnit (str) – Unit to which the value should be converted. One of “Oe”, “A/m” or “T”.

Returns:

converted – The converted value.

Return type:

float

getChamber()[source]

Gets the PPMS chamber state.

Returns:

state – Chamber state. Note: not the same values that are used for setChamber().

Return type:

str

getCurrent(bridge: int)[source]

Measure current on the given bridge.

Parameters:

bridge (int) – Number of the target bridge.

Returns:

current – Measured current, presumably in uA.

Return type:

float

getField(unit='T')[source]

Reads back the magnetic field from the PPMS.

Parameters:

unit (str, default: 'T') – Indicates the units in which the response should be given. One of “Oe”, “A/m” or “T”.

Returns:

  • field (float) – Current magnetic field strength in the selected units.

  • status (str) – Status string.

getFieldSetpoint(unit='T')[source]

Reads back magnetic field setpoint from PPMS.

Parameters:

unit (str, default: 'T') – Indicates the units in which the response should be given. One of “Oe”, “A/m” or “T”.

Returns:

  • setpoint (float) – Target H-field strength in Oersted (or A/m if si = True).

  • rate (float) – Approach rate in Oersted per second (or A/m/s if si = True).

  • mode (str, default: “linear”) – Approach mode. Possible values are: “linear”, “no_overshoot” or “oscillate”.

  • driven (bool, default: False) – Whether or not the magnet is in driven mode. False corresponds to persistent mode.

getResistance(bridge: int)[source]

Measure resistance with the given bridge.

Parameters:

bridge (int) – Number of the target bridge.

Returns:

res – Measured resistance, presumably in Ohms.

Return type:

float

getRotatorPosition()[source]

Reads back rotator position from PPMS.

Returns:

  • position (float) – Current rotator position in degrees.

  • status (str) – Status string.

getTemperature()[source]

Reads back cryostat temperature from PPMS.

Returns:

  • temp (float) – Current cryostat temperature in Kelvin.

  • status (str) – Status string.

getTemperatureSetpoint()[source]

Reads back cryostat temperature setpoint from PPMS.

Returns:

  • temp (float) – Current cryostat temperature in Kelvin.

  • rate (float) – Cryostat approach rate in Kelvin per minute.

  • fast (bool) – Whether fast settle mode is enabled. False corresponds to the no overshoot method.

isSteady(temp=False, field=False, chamber=False)[source]

Check whether the setpoits have been reached.

Parameters:
  • temp (bool, default: False) – Whether or not to check for if temperature is in a steady state.

  • field (bool, default: False) – Whether or not to check if H-field setpoint has been reached.

  • chamber (bool, default: False) – Whether or not to check if the chamber has completes its last operation.

Returns:

result – Whether or not the system is in a steady state.

Return type:

bool

setCC(bridge, current)[source]

Set up bridge to output a constant current.

Parameters:
  • bridge (int) – Number of the target bridge.

  • current (float) – Constant current in uA.

setChamber(state)[source]

Sets the PPMS chamber state.

Parameters:

state (str) – Chamber state. Possible values are: “seal”, “purge_seal”, “vent_seal”, “pump_continuous”, “vent_continous” or “high_vacuum”.

setField(setpoint, rate, mode='linear', driven=False, unit='T')[source]

Sets magnetic field inside the PPMS.

Parameters:
  • setpoint (float) – Target H-field strength in Oersted (or A/m if si = True).

  • rate (float) – Approach rate in Oersted per second (or A/m/s if si = True).

  • mode (str, default: "linear") – Approach mode. Possible values are: “linear”, “no_overshoot” or “oscillate”.

  • driven (bool, default: False) – Sets whether or not the magnet should be in driven mode. False corresponds to persistent mode.

  • unit (str, default: 'T') – Indicates the units in which the setpoint is given. One of “Oe”, “A/m” or “T”.

setRotatorPosition(position: float, rate=100.0)[source]

Set the horizontal rotator’s position.

Parameters:
  • position (float) – Rotator position in degrees.

  • rate (float, default: 100) – Roation speed in degrees per second.

setTemperature(setpoint: float, rate=2.0, fast=False)[source]

Sets the temperature of the cryostat.

Parameters:
  • setpoint (float) – Setpoint temperature in Kelvin.

  • rate (float, default: 2) – Approach rate in Kelvin per minute.

  • fast (bool, default: False) – Whether to enable fast settle mode. If false, the no overshoot approach mode will be used.

setupBridge(bridge, channelOn, currentLimit, powerLimit, voltageLimit, delay=5.0)[source]

Set up bridge for resistivity measurement

Parameters:
  • bridge (int) – Number of the target bridge.

  • channelOn (bool) – Whether or not to enable the selected bridge.

  • currentLimit (float) – Current limit in uA.

  • powerLimit (float) – Power limit in uW.

  • voltageLimit (float) – Voltage limit in mV.

  • delay (float, default: 5.0) – Number of seconds to wait after sending the configuration. This allows the module to configure itself before a measurement is taken.

waitFor(timeout=120, delay=0, temp=False, field=False, chamber=False)[source]

Wait for setpoints to be reached.

Parameters:
  • timeout (int, default: 120) – Time in seconds after which the command will return even if the setpoit is not reached.

  • delay (int, default: 0) – Time in seconds to wait after all setpoits have been reached. Useful for letting the sample thermalize.

  • temp (bool, default: False) – Whether or not to wait for temperature setpoint.

  • field (bool, default: False) – Whether or not to wait for H-field setpoint.

  • chamber (bool, default: False) – Whether or not to wait for the chamber to complete its current operation.

Returns:

result – Whether or not the setpoit was reached before the timeout.

Return type:

bool