Author: bugman Date: Thu Jan 30 14:36:43 2014 New Revision: 22073 URL: http://svn.gna.org/viewcvs/relax?rev=22073&view=rev Log: Added the double rotor frame order model to the frame_order.select_model user function. Modified: branches/double_rotor/specific_analyses/frame_order/parameters.py branches/double_rotor/specific_analyses/frame_order/user_functions.py branches/double_rotor/user_functions/frame_order.py Modified: branches/double_rotor/specific_analyses/frame_order/parameters.py URL: http://svn.gna.org/viewcvs/relax/branches/double_rotor/specific_analyses/frame_order/parameters.py?rev=22073&r1=22072&r2=22073&view=diff ============================================================================== --- branches/double_rotor/specific_analyses/frame_order/parameters.py (original) +++ branches/double_rotor/specific_analyses/frame_order/parameters.py Thu Jan 30 14:36:43 2014 @@ -245,6 +245,12 @@ cdp.params.append('pivot_y') cdp.params.append('pivot_z') + # Double rotor. + if cdp.model == 'double rotor': + cdp.params.append('pivot_x_2') + cdp.params.append('pivot_y_2') + cdp.params.append('pivot_z_2') + # The average domain position translation parameters. if not translation_fixed(): cdp.params.append('ave_pos_x') @@ -264,9 +270,14 @@ cdp.params.append('eigen_gamma') # Frame order eigenframe - the isotropic cone axis. - elif cdp.model in ['iso cone', 'free rotor', 'iso cone, torsionless', 'iso cone, free rotor', 'rotor']: + elif cdp.model in ['iso cone', 'free rotor', 'iso cone, torsionless', 'iso cone, free rotor', 'rotor', 'double rotor']: cdp.params.append('axis_theta') cdp.params.append('axis_phi') + + # Frame order eigenframe - the second axis. + if cdp.model in ['double rotor']: + cdp.params.append('axis_theta_2') + cdp.params.append('axis_phi_2') # Cone parameters - pseudo-elliptic cone parameters. if cdp.model in ['pseudo-ellipse', 'pseudo-ellipse, torsionless', 'pseudo-ellipse, free rotor']: @@ -280,10 +291,14 @@ cdp.params.append('cone_s1') # Cone parameters - torsion angle. - if cdp.model in ['rotor', 'line', 'iso cone', 'pseudo-ellipse']: + if cdp.model in ['double rotor', 'rotor', 'line', 'iso cone', 'pseudo-ellipse']: cdp.params.append('cone_sigma_max') + + # Cone parameters - 2nd torsion angle. + if cdp.model in ['double rotor']: + cdp.params.append('cone_sigma_max_2') # Initialise the parameters in the current data pipe. for param in cdp.params: - if not param in ['pivot_x', 'pivot_y', 'pivot_z'] and not hasattr(cdp, param): + if not param in ['pivot_x', 'pivot_y', 'pivot_z', 'pivot_x_2', 'pivot_y_2', 'pivot_z_2'] and not hasattr(cdp, param): setattr(cdp, param, 0.0) Modified: branches/double_rotor/specific_analyses/frame_order/user_functions.py URL: http://svn.gna.org/viewcvs/relax/branches/double_rotor/specific_analyses/frame_order/user_functions.py?rev=22073&r1=22072&r2=22073&view=diff ============================================================================== --- branches/double_rotor/specific_analyses/frame_order/user_functions.py (original) +++ branches/double_rotor/specific_analyses/frame_order/user_functions.py Thu Jan 30 14:36:43 2014 @@ -463,7 +463,7 @@ def select_model(model=None): """Select the Frame Order model. - @param model: The Frame Order model. This can be one of 'pseudo-ellipse', 'pseudo-ellipse, torsionless', 'pseudo-ellipse, free rotor', 'iso cone', 'iso cone, torsionless', 'iso cone, free rotor', 'line', 'line, torsionless', 'line, free rotor', 'rotor', 'rigid', 'free rotor'. + @param model: The Frame Order model. This can be one of 'pseudo-ellipse', 'pseudo-ellipse, torsionless', 'pseudo-ellipse, free rotor', 'iso cone', 'iso cone, torsionless', 'iso cone, free rotor', 'line', 'line, torsionless', 'line, free rotor', 'rotor', 'rigid', 'free rotor', 'double rotor'. @type model: str """ @@ -471,7 +471,7 @@ pipes.test() # Test if the model name exists. - if not model in ['pseudo-ellipse', 'pseudo-ellipse, torsionless', 'pseudo-ellipse, free rotor', 'iso cone', 'iso cone, torsionless', 'iso cone, free rotor', 'line', 'line, torsionless', 'line, free rotor', 'rotor', 'rigid', 'free rotor']: + if not model in ['pseudo-ellipse', 'pseudo-ellipse, torsionless', 'pseudo-ellipse, free rotor', 'iso cone', 'iso cone, torsionless', 'iso cone, free rotor', 'line', 'line, torsionless', 'line, free rotor', 'rotor', 'rigid', 'free rotor', 'double rotor']: raise RelaxError("The model name " + repr(model) + " is invalid.") # Set the model Modified: branches/double_rotor/user_functions/frame_order.py URL: http://svn.gna.org/viewcvs/relax/branches/double_rotor/user_functions/frame_order.py?rev=22073&r1=22072&r2=22073&view=diff ============================================================================== --- branches/double_rotor/user_functions/frame_order.py (original) +++ branches/double_rotor/user_functions/frame_order.py Thu Jan 30 14:36:43 2014 @@ -290,7 +290,8 @@ "Isotropic cone", "Free rotor pseudo-ellipse", "Torsionless pseudo-ellipse", - "Pseudo-ellipse" + "Pseudo-ellipse", + "Double rotor" ], wiz_combo_data = [ "free rotor", @@ -304,7 +305,8 @@ "iso cone", "pseudo-ellipse, free rotor", "pseudo-ellipse, torsionless", - "pseudo-ellipse" + "pseudo-ellipse", + "double rotor" ], wiz_read_only = True, ) @@ -327,6 +329,7 @@ uf.desc[-1].add_item_list_element("'rotor'", "The only motion is a rotation about the cone axis restricted by the torsion angle cone_sigma_max.") uf.desc[-1].add_item_list_element("'rigid'", "No domain motions.") uf.desc[-1].add_item_list_element("'free rotor'", "The only motion is free rotation about the cone axis.") +uf.desc[-1].add_item_list_element("'double rotor'", "Restricted motions about two independent rotor axes.") # Prompt examples. uf.desc.append(Desc_container("Prompt examples")) uf.desc[-1].add_paragraph("To select the isotropic cone model, type:")