Evgenii Kovrigin (C) 2022
KovriginNMR VT: Installation and Administration
Return to main document
Contents
Installation
KovriginNMR VT and KovriginNMR Workflows are parts of the same KovriginNMR package. Installation KovriginNMR package is described here.
Back to Contents
Administration
NOTE: all tables and calibrations are tied to specific probe names and chiller names they were obtained with. The host name is not tied up to allow for changes of a computer or networking naming system.
New spectrometer
- The NMR admin must enter the following information in KovriginNMR python files:
- knmr_constants.py
- Enter all probe names in probe_limits along with their low and high temperature limits. The names are not required to match what edhead shows (KovriginNMR does NOT talk to edhead in version 3.0) but it is convenient to have them match for easier referencing later.
- List all chillers available on a system in chiller_lower_limit along with lowest temperature the chiller can get to. The 'none' chiller is just a VT gas at room temperature. If you have manual chillers that may operate in different modes, list them as separate names. If you are adding a new chiller: edit determine_recommended_chiller_mode() in knmr_library.py
- If you have identical chillers at two NMR systems, it is handy to still use two different names.
- List all manual chillers (the ones that cannot be set to off from Topspin EDTE window) in chiller_upper_limit along with the maximum temperature you allow probe to be at while chiller is on. The maximum temperature is defined as the one when probe heater is below its maximum value set in EDTE (around 25%).
- List automatic chillers in automatic_chillers along with numerical codes for their modes. To determine the code for a new chiller that is not KovriginNMR, make a fake entry like this (make enough keys for all modes)
- 'new_chiller' : {'0':'0', "1":'1', '2':'2', '3':'3'},
- then turn on chiller to every specific mode from EDTE, display any experiment, and run knmr_show_status from a command line. It will show you the code for the current chiller mode so you will know how to name it in this list
- Enter default chiller, spinner and solvent in default_chiller, default_spinner, default_solvent for a new host name key. To find out the host name, just launch knmr_show_status.py from Topspin command line. It will not find issue an error and show you the hostname that it gets.
- knmr_gas_flow_tables.py
- You must have ALL combinations of probes and chillers described that may be seen in practice.
NOTE: you may use the same gas tables for different probes and chillers. Make sure to indicate in the first field
of the VT_Gas_Flow_Table object
(name) that this is a substitute not tested yet.
- For a new chiller/probe combination use, temporarily, either a table for this chiller and a similar probe, or a generic table derived from Bruker recommendations with some adjustments. IMPORTANT: Standard VT gas tables for Ceramic and KelF provided by Bruker are OK to use but are not optimal for all cases
- VT gas tables:
- two points at a minimum and maximum of the chiller range program are enough to define a linear dependence. Add more points for specific curvature.
- Individual tables for each chiller are needed to prevent overheating the heater, for example, with 'liquid N2' near ambient temperature, which requires greatly reduced gas flow. Similarly, when a weak chiller is used you will need significantly increased gas flow to reach the lowest point.
- To build the gas table, you should run a manual temperature series with each chiller with some 20-degree steps (using smart_ramp) and adjust the gas flow rate in EDTE to keep the heater at around <8% in EDTE (or <15% in knmr_show_status) for refrigerated chillers or 'liquid N2'. For 'none', standard recommended flow is sufficient and high heater percentage is not a problem. Be mindful that fast flow may lift the sample, which happened to us at 1800LPH at low temperature.
- Based on these measurement:
- make a table with uncorrected VTU units vs. gas flow values in LPH
- Enter it as a gas flow table in knmr_gas_flow_tables.py and create VT_Gas_Flow_Table objects for each probe with this chiller
- Enter these names in specific configurations in knmr_configuration_definition.py
-
- knmr_configuration_definition.py
- shim_valve_turns_to_1200LPH dictionary:
- add a new key corresponding to the host name of this system.
- experimentally determine a number of turns of a shim gas valve needed to add 1200 LPH or 42 CFH or 0.70 CFM to the current gas meter reading and enter as a value for this key
- all_configurations dictionary:
- add the hostname as a new top level key.
- add names of all probes on this system as the next lower level keys.
NOTE:
Make sure all probes have individual names/codes even if there are identical probes on identical systems. You will have control to assign the same (or different) calibrations to them as needed. Remember, the probe may become damaged so its calibrations will change!
- add names of chillers (or manual chillers + their modes) available on the system as lowest level keys.
NOTE: Make different names for chillers on all systems even if they are the same type. You will be able to assign identical calibrations and gas tables to them if you decide so.
Chillers may also deteriorate with time, therefore, identical chillers may have different performance and require distinct calibrations.
- for each chiller name add a value like this (example):
- Configuration(
'400 / Bruker probe / expert mode',
'Z108618_0557',
'manual',
self.shim_valve_turns_to_1200LPH['nmr400b'],
knmr_calibrations.dummy_calibration),
- first parameter is the human-readable name of the system configuration spectrometer/probe/chiller
- second is probe name
- third is the chiller name - same as the key for this entry
- fourth is the number of turns of a shim gas valve: insert the hostname (same as top level key)
- keep dummy calibration entry until you obtained the temperature calibration of the probe
- knmr_calibrations.py
- This file creates temperature calibrations for use in knmr_configuration_definition.py.
- Calibration must be done for each probe/chiller combination. Dummy calibration is used if calibration data is not available.
- Calibration data are obtained using commercial methanol and ethylene glycol standards.
IMPORTANT NOTE: If you are making your own methanol standard, it must be acidified with 0.1% TFA otherwise the OH peak is shifted and the calibration may be up to 3 degrees off!
- Calibration tables are entered in files named like CalibrationData_McCourtney500_MainProbe_BCUII.py and called up knmr_calibrations.py
- Calibration must
- cover entire range of the assigned chiller.
- It is useful to have all calibration sets extending to room temperature region because temperature-corrected methods of KovriginNMR require all temperature points lie INSIDE the calibrated range. Extrapolations are NOT allowed. If you want to go outside - turn off temperature correction and use the calibration plot that you may extrapolate yourself. Calibration data are shown by entering knmr_show_calibration_data
- For example, 'liquid N2' would go from lowest methanol point to 300K, while 'none' would cover 290 to probe maximum.
- Calibration curves may be composite of points obtained in different experiments with different compounds.
- knmr_library.py
- when adding a new chiller: edit determine_recommended_chiller_mode()
New user
Introducing a new temperature calibration
A new temperature calibration is required if:
- You are using a new probe or/and a chiller
- there was damage or a repair to the probe or a chiller hardware
To introduce a new temperature calibration follow these steps:
For examples see 400 Stepan calibration, :
- Ramp spectrometer to a highest (or lowest) temperature using [Ramp to T] step without temperature correction. Measure temperature with glycol or acidified methanol standard in every step.
- When limiting temperature is reached, start the temperature series using knmr_script_temperature_series.py. NOTE: the probes have a sharp kink around 280K and 330K. To sample it you will need to pass this area twice once with a coarse 5C step, another with a fine, 0.1C step.
- From last experiment of the series, import Experiment_Schedule.txt to Excel
- Process data in Topspin and measure delta CS between peak maxima and enter them in Excel.
NOTE 1: at high temperature glycol peak splits. The true resonance is in the right shoulder
of the low-field peak but it is difficult to follow unless you have a very fine step. Follow the maximum, which will lead to a maximum error of about 3 degrees at 147 C.
NOTE 2: at low temperature, methanol peaks splits. Measure the distance between the middle of the peaks.
Back to Contents