Changeset 5305


Ignore:
Timestamp:
Jun 23, 2022 11:53:17 AM (3 months ago)
Author:
toby
Message:

constraints fix

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASIIconstrGUI.py

    r5250 r5305  
    417417        for key in ('parmMinDict','parmMaxDict','parmFrozen'):
    418418            if key not in Controls: Controls[key] = {}
    419         G2mv.Map2Dict(parmDict,varyList)   # changes varyList
     419        G2mv.Map2Dict(parmDict,varyList)   # changes parmDict & varyList
    420420        # check for limits on dependent vars
    421421        consVars = [i for i in reqVaryList if i not in varyList]
  • trunk/GSASIImapvars.py

    r5241 r5305  
    22902290        varied = False
    22912291        for i,mv in enumerate(varlist):
     2292            constrVal = 0    # offset to constraint from constant terms
    22922293            lineOut = '  {} = '.format(mv)
    2293             j = 0
     2294            j = 0 # number of terms shown
    22942295            for m,v in zip(invmultarr[i,:],mapvars):
    22952296                if m == 0: continue
    22962297                if v == 0: continue
    22972298                if v in varyList: varied = True
     2299                try:
     2300                    constrVal += m*v  # v is a constant; add to offset
     2301                    continue
     2302                except:
     2303                    pass
    22982304                if m < 0:
    22992305                    lineOut += ' - '
     
    23082314                    lineOut += '{}'.format(v)
    23092315                else:
    2310                     try:
    2311                         lineOut += '{:.4g}'.format(m*v)
    2312                     except:
    2313                         lineOut += '({:.4g} * {})'.format(m,v)
    2314             if j == 0: lineOut += '0'
     2316                    lineOut += '({:.4g} * {})'.format(m,v)
     2317            if constrVal < 0:
     2318                lineOut += ' - {:.4g}'.format(-constrVal)
     2319            elif constrVal > 0:
     2320                lineOut += ' + {:.4g}'.format(constrVal)
     2321            elif j == 0:
     2322                lineOut += '0'  # no terms, no constants: var fixed at zero
    23152323            if varied: lineOut += '\t *VARIED*'
    23162324            lineDict[mv] = lineOut
     
    25822590            arr[i,j] = d[cnum].get(var,0)
    25832591    try:
    2584         _RowEchelon(m,copy.copy(arr),collist)
     2592        _RowEchelon(m,copy.copy(arr),collist[:])
    25852593    except:
    25862594        raise Exception('Initial constraints singular')
     
    25882596        arr[i][i] = 1   # add a diagonal element
    25892597        try:
    2590             _RowEchelon(i+1,copy.copy(arr),collist)
     2598            _RowEchelon(i+1,copy.copy(arr),collist[:])
    25912599            continue
    25922600        except:
     
    25962604            arr[i][j] = 1   # add another element
    25972605            try:
    2598                 _RowEchelon(i+1,copy.copy(arr),collist)
     2606                _RowEchelon(i+1,copy.copy(arr),collist[:])
    25992607                break
    26002608            except:
     
    26022610            arr[i][j] = -1   # try a different valuefor this element
    26032611            try:
    2604                 _RowEchelon(i+1,copy.copy(arr),collist)
     2612                _RowEchelon(i+1,copy.copy(arr),collist[:])
    26052613                break
    26062614            except:
  • trunk/GSASIIstrMain.py

    r5297 r5305  
    12861286    'Called to run a refinement when this module is executed '
    12871287    starttime = time.time()
    1288     arg = sys.argv
     1288    #arg = sys.argv
    12891289    if len(args) >= 1:
    12901290        files = args
     
    12951295        G2fil.G2Print ('Use "python GSASIIstrMain.py f1.gpx [f2.gpx f3.gpx...]" to run')
    12961296        G2fil.G2Print ('or call GSASIIstrMain.do_refine directly')
    1297         exit()
     1297        sys.exit()
    12981298    for GPXfile in files:
    12991299        if not ospath.exists(GPXfile):
Note: See TracChangeset for help on using the changeset viewer.