Hi Stefano, When running relax, you should avoid putting any files in the relax source code directories. These should be kept separate at all times - otherwise the result could be severe problems that are very difficult to understand. To see the output of the script when running in GUI mode, you will have to open the relax controller window were all messages are displayed. To do this, perform one of: - Select the 'View->Controller' menu item. - Click on the 'relax controller' button in the toolbar. - Type Ctrl-Z. The two numbers should be printed at the bottom. If you see errors, then there is likely to be word wrapping problems - one line has been split into two in the email text. Regards, Edward On 18 March 2014 17:06, Stefano Luciano Ciurli <stefano.ciurli@xxxxxxxx> wrote:
Hi Edward, thank you for the exhaustive answer. I have saved the script as a filename.py file in the /relax/Contents/Resources/user_functions directory and tried to run in from within relax using the menu user functions (n-z) -> script However, it does not appear to do anything. Any hint? Stefano On Mar 18, 2014, at 10:04 AM, Edward d'Auvergne wrote: # Python module imports. from numpy import float64, zeros # relax module imports. from lib.auto_relaxation.ri_comps import calc_fixed_csa, calc_fixed_dip, comp_csa_const_func, comp_dip_const_func from lib.physical_constants import h_bar, mu0, return_gyromagnetic_ratio class Data: """Dummy class for storing data.""" # Initialise the data container. data = Data() # The spectrometer frequency (Hz). frq = 500e6 # The dynamically averaged bond length (m) and chemical shift tensor anisotropy. r = 1.02e-10 csa = -172e-6 # Add the needed physical constants to the data storage. data.gx = return_gyromagnetic_ratio('15N') data.gh = return_gyromagnetic_ratio('1H') data.mu0 = mu0 data.h_bar = h_bar # The number of frequencies. data.num_frq = 1 # Initialise dipolar and CSA data structures. data.dip_const_fixed = 0.0 data.csa_const_fixed = [0.0] data.dip_const_func = 0.0 data.csa_const_func = zeros(1, float64) # Nuclear frequencies. frq = frq * 2 * pi frqX = frq * data.gx / data.gh # Calculate the five frequencies which cause R1, R2, and NOE relaxation. data.frq_list = zeros((1, 5), float64) data.frq_list[0, 1] = frqX data.frq_list[0, 2] = frq - frqX data.frq_list[0, 3] = frq data.frq_list[0, 4] = frq + frqX data.frq_sqrd_list = data.frq_list ** 2 # Calculate the fixed component of the dipolar and CSA constants. calc_fixed_dip(data) calc_fixed_csa(data) # Calculate the dipolar and CSA constants. comp_dip_const_func(data, r) comp_csa_const_func(data, csa) # Rename the dipolar and CSA constants. d = data.dip_const_func c = data.csa_const_func[0] # Printout. print("d: %s" % d) print("c: %s" % c)