Changes in / [e44432d:be43e39] in sasmodels


Ignore:
Location:
sasmodels
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • sasmodels/compare.py

    rfb7c176 r610ef23  
    367367 
    368368    # Limit magnetic SLDs to a smaller range, from zero to iron=5/A^2 
    369     if par.name.startswith('M0:'): 
     369    if par.name.endswith('_M0'): 
    370370        return np.random.uniform(0, 5) 
    371371 
     
    537537    magnetic_pars = [] 
    538538    for p in parameters.user_parameters(pars, is2d): 
    539         if any(p.id.startswith(x) for x in ('M0:', 'mtheta:', 'mphi:')): 
     539        if any(p.id.endswith(x) for x in ('_M0', '_mtheta', '_mphi')): 
    540540            continue 
    541541        if p.id.startswith('up:'): 
     
    549549            pdtype=pars.get(p.id+"_pd_type", 'gaussian'), 
    550550            relative_pd=p.relative_pd, 
    551             M0=pars.get('M0:'+p.id, 0.), 
    552             mphi=pars.get('mphi:'+p.id, 0.), 
    553             mtheta=pars.get('mtheta:'+p.id, 0.), 
     551            M0=pars.get(p.id+'_M0', 0.), 
     552            mphi=pars.get(p.id+'_mphi', 0.), 
     553            mtheta=pars.get(p.id+'_mtheta', 0.), 
    554554        ) 
    555555        lines.append(_format_par(p.name, **fields)) 
     
    617617    if suppress: 
    618618        for p in pars: 
    619             if p.startswith("M0:"): 
     619            if p.endswith("_M0"): 
    620620                pars[p] = 0 
    621621    else: 
     
    623623        first_mag = None 
    624624        for p in pars: 
    625             if p.startswith("M0:"): 
     625            if p.endswith("_M0"): 
    626626                any_mag |= (pars[p] != 0) 
    627627                if first_mag is None: 
  • sasmodels/convert.py

    ra69d8cd r610ef23  
    165165    if version == (3, 1, 2): 
    166166        oldpars = _hand_convert_3_1_2_to_4_1(name, oldpars) 
     167    if version < (4, 2, 0): 
     168        oldpars = _rename_magnetic_pars(oldpars) 
    167169    return oldpars 
     170 
     171def _rename_magnetic_pars(pars): 
     172    """ 
     173    Change from M0:par to par_M0, etc. 
     174    """ 
     175    keys = list(pars.items()) 
     176    for k in keys: 
     177        if k.startswith('M0:'): 
     178            pars[k[3:]+'_M0'] = pars.pop(k) 
     179        elif k.startswith('mtheta:'): 
     180            pars[k[7:]+'_mtheta'] = pars.pop(k) 
     181        elif k.startswith('mphi:'): 
     182            pars[k[5:]+'_mphi'] = pars.pop(k) 
     183        elif k.startswith('up:'): 
     184            pars['up_'+k[3:]] = pars.pop(k) 
     185    return pars 
    168186 
    169187def _hand_convert_3_1_2_to_4_1(name, oldpars): 
  • sasmodels/modelinfo.py

    re44432d re44432d  
    463463        self.is_asymmetric = any(p.name == 'psi' for p in self.kernel_parameters) 
    464464        self.magnetism_index = [k for k, p in enumerate(self.call_parameters) 
    465                                 if p.id.startswith('M0:')] 
     465                                if p.id.endswith('_M0')] 
     466 
    466467        self.pd_1d = set(p.name for p in self.call_parameters 
    467468                         if p.polydisperse and p.type not in ('orientation', 'magnetic')) 
     
    582583        if self.nmagnetic > 0: 
    583584            full_list.extend([ 
    584                 Parameter('up:frac_i', '', 0., [0., 1.], 
     585                Parameter('up_frac_i', '', 0., [0., 1.], 
    585586                          'magnetic', 'fraction of spin up incident'), 
    586                 Parameter('up:frac_f', '', 0., [0., 1.], 
     587                Parameter('up_frac_f', '', 0., [0., 1.], 
    587588                          'magnetic', 'fraction of spin up final'), 
    588                 Parameter('up:angle', 'degrees', 0., [0., 360.], 
     589                Parameter('up_angle', 'degrees', 0., [0., 360.], 
    589590                          'magnetic', 'spin up angle'), 
    590591            ]) 
     
    592593            for p in slds: 
    593594                full_list.extend([ 
    594                     Parameter('M0:'+p.id, '1e-6/Ang^2', 0., [-np.inf, np.inf], 
     595                    Parameter(p.id+'_M0', '1e-6/Ang^2', 0., [-np.inf, np.inf], 
    595596                              'magnetic', 'magnetic amplitude for '+p.description), 
    596                     Parameter('mtheta:'+p.id, 'degrees', 0., [-90., 90.], 
     597                    Parameter(p.id+'_mtheta', 'degrees', 0., [-90., 90.], 
    597598                              'magnetic', 'magnetic latitude for '+p.description), 
    598                     Parameter('mphi:'+p.id, 'degrees', 0., [-180., 180.], 
     599                    Parameter(p.id+'_mphi', 'degrees', 0., [-180., 180.], 
    599600                              'magnetic', 'magnetic longitude for '+p.description), 
    600601                ]) 
     
    636637 
    637638        Parameters marked as sld will automatically have a set of associated 
    638         magnetic parameters (m0:p, mtheta:p, mphi:p), as well as polarization 
    639         information (up:theta, up:frac_i, up:frac_f). 
     639        magnetic parameters (p_M0, p_mtheta, p_mphi), as well as polarization 
     640        information (up_theta, up_frac_i, up_frac_f). 
    640641        """ 
    641642        # control parameters go first 
     
    664665            result.append(expanded_pars[name]) 
    665666            if is2d: 
    666                 for tag in 'M0:', 'mtheta:', 'mphi:': 
    667                     if tag+name in expanded_pars: 
    668                         result.append(expanded_pars[tag+name]) 
     667                for tag in '_M0', '_mtheta', '_mphi': 
     668                    if name+tag in expanded_pars: 
     669                        result.append(expanded_pars[name+tag]) 
    669670 
    670671        # Gather the user parameters in order 
     
    699700                append_group(p.id) 
    700701 
    701         if is2d and 'up:angle' in expanded_pars: 
     702        if is2d and 'up_angle' in expanded_pars: 
    702703            result.extend([ 
    703                 expanded_pars['up:frac_i'], 
    704                 expanded_pars['up:frac_f'], 
    705                 expanded_pars['up:angle'], 
     704                expanded_pars['up_frac_i'], 
     705                expanded_pars['up_frac_f'], 
     706                expanded_pars['up_angle'], 
    706707            ]) 
    707708 
     
    10231024                         for k in range(control+1, p.length+1) 
    10241025                         if p.length > 1) 
     1026            for p in self.parameters.kernel_parameters: 
     1027                if p.length > 1 and p.type == "sld": 
     1028                    for k in range(control+1, p.length+1): 
     1029                        base = p.id+str(k) 
     1030                        hidden.update((base+"_M0", base+"_mtheta", base+"_mphi")) 
    10251031        return hidden 
  • sasmodels/sasview_model.py

    re44432d re44432d  
    383383            hidden.add('background') 
    384384            self._model_info.parameters.defaults['background'] = 0. 
     385 
     386        # Update the parameter lists to exclude any hidden parameters 
     387        self.magnetic_params = tuple(pname for pname in self.magnetic_params 
     388                                     if pname not in hidden) 
     389        self.orientation_params = tuple(pname for pname in self.orientation_params 
     390                                        if pname not in hidden) 
    385391 
    386392        self._persistency_dict = {} 
     
    905911    Model = _make_standard_model('sphere') 
    906912    model = Model() 
    907     model.setParam('M0:sld', 8) 
     913    model.setParam('sld_M0', 8) 
    908914    q = np.linspace(-0.35, 0.35, 500) 
    909915    qx, qy = np.meshgrid(q, q) 
Note: See TracChangeset for help on using the changeset viewer.