labdrivers.quantumdesign

class labdrivers.quantumdesign.qdinstrument.QdInstrument(instrument_type, ip_address, remote=True)[source]

A class to interface with Quantum Design instruments.

This class is a thin wrapper around the C# QuantumDesign.QDInstrument.QDInstrumentBase class provided in the QDInstrument.dll file.

There is now support for using a Quantum Design DynaCool, PPMS, SVSM, and VersaLab. The MPMS class requires testing, but should work. For some reason, the MPMS enum was hard-coded in as the number 4121982 casted as a QDInstrumentBase.QDInstrumentType enum.

getField()[source]

Returns the Magnetic field in Gauss.

Parameters are from: GetField(ref double Field, ref QDInstrumentBase.FieldStatus Status)

Returns:Field in Gauss.
getPosition()[source]

Retrieves the position of the rotator.

GetPosition(string Axis, ref double Position, ref QDInstrumentBase.PositionStatus Status)

“Horizontal Rotator” seems to be the name that one should pass to GetPosition, as observed in the WaitConditionReached function.

getTemperature()[source]

Returns the instrument temperature in Kelvin.

Parameters are from: SetTemperature(double Temperature, double Rate, QDInstrumentBase.TemperatureApproach Approach)

setField(field, rate=200)[source]

Ramps the instrument magnetic field to the set point.

Parameters are from: SetField(double Field, double Rate, QDInstrumentBase.FieldApproach Approach, QDInstrumentBase.FieldMode Mode)

Parameters:
  • field – Set point of the applied magnetic field in Gauss.
  • rate – Ramp rate of the applied magnetic field in Gauss/sec.
Returns:

None

setPosition(position, speed)[source]

Ramps the instrument position to the set point.

Parameters are from: SetPosition(string Axis, double Position, double Speed, QDInstrumentBase.PositionMode Mode)

Parameters:
  • position – Position on the rotator to move to.
  • speed – Rate of change of position on the rotator.
setTemperature(temp, rate=10)[source]

Ramps the instrument temperature to the set point.

Parameters are from: GetTemperature(ref double Temperature, ref QDInstrumentBase.TemperatureStatus Status)

Parameters:
  • temp – Desired temperature in Kelvin
  • rate – Temperature ramp rate in Kelvin/min.
Returns:

None

waitForField(delay=5, timeout=600)[source]

Prevents other processes from executing while the QD instrument magnetic field is settling down.

Parameters:
  • delay – Length of time to wait after wait condition achieved in seconds.
  • timeout – Length of time to wait to achieve wait condition in seconds.
Returns:

0 when complete.

waitForPosition(delay, timeout)[source]

Prevents other processes from executing while the QD instrument rotator position is settling down.

Parameters:
  • delay – Length of time to wait after wait condition achieved in seconds.
  • timeout – Length of time to wait to achieve wait condition in seconds.
Returns:

0 when complete.

waitForTemperature(delay=5, timeout=600)[source]

Prevents other processes from executing while the QD instrument temperature is settling down.

Parameters:
  • delay – Length of time to wait after wait condition achieved in seconds.
  • timeout – Length of time to wait to achieve wait condition in seconds.
Returns:

0 when complete.

class labdrivers.quantumdesign.qdinstrument.Dynacool(ip_address)[source]

QdInstrument subclass that connects to the Quantum Design PPMS DynaCool.

class labdrivers.quantumdesign.qdinstrument.Ppms(ip_address)[source]

QdInstrument subclass that connects to the Quantum Design PPMS.

class labdrivers.quantumdesign.qdinstrument.Svsm(ip_address)[source]

QdInstrument subclass that connects to the Quantum Design SVSM.

class labdrivers.quantumdesign.qdinstrument.VersaLab(ip_address)[source]

QdInstrument subclass that connects to the Quantum Design VersaLab.

class labdrivers.quantumdesign.qdinstrument.Mpms(ip_address)[source]

QdInstrument subclass that connects to the Quantum Design MPMS.