Author: bugman Date: Tue Jul 22 18:35:26 2014 New Revision: 24651 URL: http://svn.gna.org/viewcvs/relax?rev=24651&view=rev Log: Merged revisions 24638 via svnmerge from svn+ssh://bugman@xxxxxxxxxxx/svn/relax/trunk ........ r24638 | bugman | 2014-07-22 17:06:47 +0200 (Tue, 22 Jul 2014) | 6 lines Modified the align_tensor.init user function so that the parameters are now optional. This allows alignment tensors to be initialised without specifying the parameter values for that tensor. ........ Modified: branches/disp_spin_speed/ (props changed) branches/disp_spin_speed/pipe_control/align_tensor.py branches/disp_spin_speed/user_functions/align_tensor.py Propchange: branches/disp_spin_speed/ ------------------------------------------------------------------------------ --- svnmerge-integrated (original) +++ svnmerge-integrated Tue Jul 22 18:35:26 2014 @@ -1 +1 @@ -/trunk:1-24595 +/trunk:1-24650 Modified: branches/disp_spin_speed/pipe_control/align_tensor.py URL: http://svn.gna.org/viewcvs/relax/branches/disp_spin_speed/pipe_control/align_tensor.py?rev=24651&r1=24650&r2=24651&view=diff ============================================================================== --- branches/disp_spin_speed/pipe_control/align_tensor.py (original) +++ branches/disp_spin_speed/pipe_control/align_tensor.py Tue Jul 22 18:35:26 2014 @@ -676,7 +676,7 @@ @keyword align_id: The alignment ID string that the tensor corresponds to. @type align_id: str or None @keyword params: The alignment tensor parameters. - @type params: float + @type params: list of float or None @keyword scale: The alignment tensor eigenvalue scaling value. @type scale: float @keyword angle_units: The units for the angle parameters (either 'deg' or 'rad'). @@ -733,153 +733,155 @@ else: tensor_obj = get_tensor_object_from_align(align_id) - # {Sxx, Syy, Sxy, Sxz, Syz}. - if param_types == 0: - # Unpack the tuple. - Sxx, Syy, Sxy, Sxz, Syz = params - - # Scaling. - Sxx = Sxx * scale - Syy = Syy * scale - Sxy = Sxy * scale - Sxz = Sxz * scale - Syz = Syz * scale - - # Set the parameters. - set(tensor=tensor_obj, value=[Sxx, Syy, Sxy, Sxz, Syz], param=['Sxx', 'Syy', 'Sxy', 'Sxz', 'Syz'], errors=errors) - - # {Szz, Sxx-yy, Sxy, Sxz, Syz}. - elif param_types == 1: - # Unpack the tuple. - Szz, Sxxyy, Sxy, Sxz, Syz = params - - # Scaling. - Szz = Szz * scale - Sxxyy = Sxxyy * scale - Sxy = Sxy * scale - Sxz = Sxz * scale - Syz = Syz * scale - - # Set the parameters. - set(tensor=tensor_obj, value=[Szz, Sxxyy, Sxy, Sxz, Syz], param=['Szz', 'Sxxyy', 'Sxy', 'Sxz', 'Syz'], errors=errors) - - # {Axx, Ayy, Axy, Axz, Ayz}. - elif param_types == 2: - # Unpack the tuple. - Axx, Ayy, Axy, Axz, Ayz = params - - # Scaling. - Axx = Axx * scale - Ayy = Ayy * scale - Axy = Axy * scale - Axz = Axz * scale - Ayz = Ayz * scale - - # Set the parameters. - set(tensor=tensor_obj, value=[Axx, Ayy, Axy, Axz, Ayz], param=['Axx', 'Ayy', 'Axy', 'Axz', 'Ayz'], errors=errors) - - # {Azz, Axx-yy, Axy, Axz, Ayz}. - elif param_types == 3: - # Unpack the tuple. - Azz, Axxyy, Axy, Axz, Ayz = params - - # Scaling. - Azz = Azz * scale - Axxyy = Axxyy * scale - Axy = Axy * scale - Axz = Axz * scale - Ayz = Ayz * scale - - # Set the parameters. - set(tensor=tensor_obj, value=[Azz, Axxyy, Axy, Axz, Ayz], param=['Azz', 'Axxyy', 'Axy', 'Axz', 'Ayz'], errors=errors) - - # {Axx, Ayy, Axy, Axz, Ayz}. - elif param_types == 4: - # Unpack the tuple. - Axx, Ayy, Axy, Axz, Ayz = params - - # Get the bond length. - r = None - for spin in spin_loop(): - # First spin. - if r == None: - r = spin.r - - # Different value. - if r != spin.r: - raise RelaxError("Not all spins have the same bond length.") - - # Scaling. - scale = scale / kappa() * r**3 - Axx = Axx * scale - Ayy = Ayy * scale - Axy = Axy * scale - Axz = Axz * scale - Ayz = Ayz * scale - - # Set the parameters. - set(tensor=tensor_obj, value=[Axx, Ayy, Axy, Axz, Ayz], param=['Axx', 'Ayy', 'Axy', 'Axz', 'Ayz'], errors=errors) - - # {Azz, Axx-yy, Axy, Axz, Ayz}. - elif param_types == 5: - # Unpack the tuple. - Azz, Axxyy, Axy, Axz, Ayz = params - - # Get the bond length. - r = None - for spin in spin_loop(): - # First spin. - if r == None: - r = spin.r - - # Different value. - if r != spin.r: - raise RelaxError("Not all spins have the same bond length.") - - # Scaling. - scale = scale / kappa() * r**3 - Azz = Azz * scale - Axxyy = Axxyy * scale - Axy = Axy * scale - Axz = Axz * scale - Ayz = Ayz * scale - - # Set the parameters. - set(tensor=tensor_obj, value=[Azz, Axxyy, Axy, Axz, Ayz], param=['Azz', 'Axxyy', 'Axy', 'Axz', 'Ayz'], errors=errors) - - # {Pxx, Pyy, Pxy, Pxz, Pyz}. - elif param_types == 6: - # Unpack the tuple. - Pxx, Pyy, Pxy, Pxz, Pyz = params - - # Scaling. - Pxx = Pxx * scale - Pyy = Pyy * scale - Pxy = Pxy * scale - Pxz = Pxz * scale - Pyz = Pyz * scale - - # Set the parameters. - set(tensor=tensor_obj, value=[Pxx, Pyy, Pxy, Pxz, Pyz], param=['Pxx', 'Pyy', 'Pxy', 'Pxz', 'Pyz'], errors=errors) - - # {Pzz, Pxx-yy, Pxy, Pxz, Pyz}. - elif param_types == 7: - # Unpack the tuple. - Pzz, Pxxyy, Pxy, Pxz, Pyz = params - - # Scaling. - Pzz = Pzz * scale - Pxxyy = Pxxyy * scale - Pxy = Pxy * scale - Pxz = Pxz * scale - Pyz = Pyz * scale - - # Set the parameters. - set(tensor=tensor_obj, value=[Pzz, Pxxyy, Pxy, Pxz, Pyz], param=['Pzz', 'Pxxyy', 'Pxy', 'Pxz', 'Pyz'], errors=errors) - - # Unknown parameter combination. - else: - raise RelaxUnknownParamCombError('param_types', param_types) + # Set the parameter values. + if params: + # {Sxx, Syy, Sxy, Sxz, Syz}. + if param_types == 0: + # Unpack the tuple. + Sxx, Syy, Sxy, Sxz, Syz = params + + # Scaling. + Sxx = Sxx * scale + Syy = Syy * scale + Sxy = Sxy * scale + Sxz = Sxz * scale + Syz = Syz * scale + + # Set the parameters. + set(tensor=tensor_obj, value=[Sxx, Syy, Sxy, Sxz, Syz], param=['Sxx', 'Syy', 'Sxy', 'Sxz', 'Syz'], errors=errors) + + # {Szz, Sxx-yy, Sxy, Sxz, Syz}. + elif param_types == 1: + # Unpack the tuple. + Szz, Sxxyy, Sxy, Sxz, Syz = params + + # Scaling. + Szz = Szz * scale + Sxxyy = Sxxyy * scale + Sxy = Sxy * scale + Sxz = Sxz * scale + Syz = Syz * scale + + # Set the parameters. + set(tensor=tensor_obj, value=[Szz, Sxxyy, Sxy, Sxz, Syz], param=['Szz', 'Sxxyy', 'Sxy', 'Sxz', 'Syz'], errors=errors) + + # {Axx, Ayy, Axy, Axz, Ayz}. + elif param_types == 2: + # Unpack the tuple. + Axx, Ayy, Axy, Axz, Ayz = params + + # Scaling. + Axx = Axx * scale + Ayy = Ayy * scale + Axy = Axy * scale + Axz = Axz * scale + Ayz = Ayz * scale + + # Set the parameters. + set(tensor=tensor_obj, value=[Axx, Ayy, Axy, Axz, Ayz], param=['Axx', 'Ayy', 'Axy', 'Axz', 'Ayz'], errors=errors) + + # {Azz, Axx-yy, Axy, Axz, Ayz}. + elif param_types == 3: + # Unpack the tuple. + Azz, Axxyy, Axy, Axz, Ayz = params + + # Scaling. + Azz = Azz * scale + Axxyy = Axxyy * scale + Axy = Axy * scale + Axz = Axz * scale + Ayz = Ayz * scale + + # Set the parameters. + set(tensor=tensor_obj, value=[Azz, Axxyy, Axy, Axz, Ayz], param=['Azz', 'Axxyy', 'Axy', 'Axz', 'Ayz'], errors=errors) + + # {Axx, Ayy, Axy, Axz, Ayz}. + elif param_types == 4: + # Unpack the tuple. + Axx, Ayy, Axy, Axz, Ayz = params + + # Get the bond length. + r = None + for spin in spin_loop(): + # First spin. + if r == None: + r = spin.r + + # Different value. + if r != spin.r: + raise RelaxError("Not all spins have the same bond length.") + + # Scaling. + scale = scale / kappa() * r**3 + Axx = Axx * scale + Ayy = Ayy * scale + Axy = Axy * scale + Axz = Axz * scale + Ayz = Ayz * scale + + # Set the parameters. + set(tensor=tensor_obj, value=[Axx, Ayy, Axy, Axz, Ayz], param=['Axx', 'Ayy', 'Axy', 'Axz', 'Ayz'], errors=errors) + + # {Azz, Axx-yy, Axy, Axz, Ayz}. + elif param_types == 5: + # Unpack the tuple. + Azz, Axxyy, Axy, Axz, Ayz = params + + # Get the bond length. + r = None + for spin in spin_loop(): + # First spin. + if r == None: + r = spin.r + + # Different value. + if r != spin.r: + raise RelaxError("Not all spins have the same bond length.") + + # Scaling. + scale = scale / kappa() * r**3 + Azz = Azz * scale + Axxyy = Axxyy * scale + Axy = Axy * scale + Axz = Axz * scale + Ayz = Ayz * scale + + # Set the parameters. + set(tensor=tensor_obj, value=[Azz, Axxyy, Axy, Axz, Ayz], param=['Azz', 'Axxyy', 'Axy', 'Axz', 'Ayz'], errors=errors) + + # {Pxx, Pyy, Pxy, Pxz, Pyz}. + elif param_types == 6: + # Unpack the tuple. + Pxx, Pyy, Pxy, Pxz, Pyz = params + + # Scaling. + Pxx = Pxx * scale + Pyy = Pyy * scale + Pxy = Pxy * scale + Pxz = Pxz * scale + Pyz = Pyz * scale + + # Set the parameters. + set(tensor=tensor_obj, value=[Pxx, Pyy, Pxy, Pxz, Pyz], param=['Pxx', 'Pyy', 'Pxy', 'Pxz', 'Pyz'], errors=errors) + + # {Pzz, Pxx-yy, Pxy, Pxz, Pyz}. + elif param_types == 7: + # Unpack the tuple. + Pzz, Pxxyy, Pxy, Pxz, Pyz = params + + # Scaling. + Pzz = Pzz * scale + Pxxyy = Pxxyy * scale + Pxy = Pxy * scale + Pxz = Pxz * scale + Pyz = Pyz * scale + + # Set the parameters. + set(tensor=tensor_obj, value=[Pzz, Pxxyy, Pxy, Pxz, Pyz], param=['Pzz', 'Pxxyy', 'Pxy', 'Pxz', 'Pyz'], errors=errors) + + # Unknown parameter combination. + else: + raise RelaxUnknownParamCombError('param_types', param_types) # Set the domain and alignment ID. if domain: Modified: branches/disp_spin_speed/user_functions/align_tensor.py URL: http://svn.gna.org/viewcvs/relax/branches/disp_spin_speed/user_functions/align_tensor.py?rev=24651&r1=24650&r2=24651&view=diff ============================================================================== --- branches/disp_spin_speed/user_functions/align_tensor.py (original) +++ branches/disp_spin_speed/user_functions/align_tensor.py Tue Jul 22 18:35:26 2014 @@ -213,7 +213,8 @@ desc_short = "alignment tensor parameters", dim = 5, desc = "The alignment tensor data.", - wiz_read_only = False + wiz_read_only = False, + can_be_none = True ) uf.add_keyarg( name = "scale",