Changeset 380e8c9 in sasmodels for sasmodels/generate.py
- Timestamp:
- Mar 24, 2016 10:56:44 AM (8 years ago)
- Branches:
- master, core_shell_microgels, costrafo411, magnetic_model, release_v0.94, release_v0.95, ticket-1257-vesicle-product, ticket_1156, ticket_1265_superball, ticket_822_more_unit_tests
- Children:
- 151f3bc
- Parents:
- 60eab2a
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sasmodels/generate.py
r60eab2a r380e8c9 614 614 # Note: the reversing view, x[::-1], does not require a copy 615 615 pd_length = np.array([len(w) for w in weights]) 616 print (pd_length)617 print (weights)618 616 pd_offset = np.cumsum(np.hstack((0, pd_length))) 619 617 pd_isvol = np.array([p.type=='volume' for p in pars]) 620 618 idx = np.argsort(pd_length)[::-1][:max_pd] 621 print (idx)622 619 pd_stride = np.cumprod(np.hstack((1, pd_length[idx][:-1]))) 623 620 par_offsets = np.cumsum(np.hstack((2, pd_length)))[:-1] 621 coord_offset = par_offset+npars 622 fast_coord_offset = par_offset+2*npars 624 623 625 624 theta_par = -1 … … 637 636 details[par_offset+0*npars:par_offset+1*npars] = par_offsets 638 637 details[par_offset+1*npars:par_offset+2*npars] = 0 # no coordination for most 639 details[par_offset+2*npars:par_offset+3*npars] = 0 # no fast coord with 0640 coord_offset = par_offset+1*npars641 638 for k,parameter_num in enumerate(idx): 642 639 details[coord_offset+parameter_num] = 2**k 640 details[fast_coord_offset] = idx[0] 641 details[fast_coord_offset+1:fast_coord_offset+npars] = 0 # no fast coord with 0 643 642 details[constants_offset] = 1 # fast_coord_count: one fast index 644 643 details[constants_offset+1] = theta_par 645 print ("details",details) 644 print("polydispersity details") 645 print_details(model_info, details) 646 646 return details 647 648 def print_details(model_info, details): 649 max_pd = model_info['max_pd'] 650 pars = model_info['parameters'].kernel_pars() 651 npars = len(pars) 652 par_offset = 5*max_pd 653 constants_offset = par_offset + 3*npars 654 655 print("pd_par", details[0*max_pd:1*max_pd]) 656 print("pd_length", details[1*max_pd:2*max_pd]) 657 print("pd_offset", details[2*max_pd:3*max_pd]) 658 print("pd_stride", details[3*max_pd:4*max_pd]) 659 print("pd_isvol", details[4*max_pd:5*max_pd]) 660 print("par_offsets", details[par_offset+0*npars:par_offset+1*npars]) 661 print("par_coord", details[par_offset+1*npars:par_offset+2*npars]) 662 print("fast_coord_pars", details[par_offset+2*npars:par_offset+3*npars]) 663 print("fast_coord_count", details[constants_offset]) 664 print("theta par", details[constants_offset+1]) 647 665 648 666 def constrained_poly_details(model_info, weights, constraints):
Note: See TracChangeset
for help on using the changeset viewer.