Changeset 4952 for trunk/GSASIIpwd.py
- Timestamp:
- Jun 11, 2021 3:43:57 PM (2 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/GSASIIpwd.py
r4951 r4952 3017 3017 # otherwise build it 3018 3018 ENGINE = Engine(path=None) 3019 Ebc = ENGINE.boundaryConditions 3019 3020 if not ENGINE.is_engine(engineFileName) or FRESH_START: 3020 3021 ## create structure … … 3024 3025 unitcellBC = cell, 3025 3026 supercell = supercell) 3026 rmax = min( [E NGINE.boundaryConditions.get_a(), ENGINE.boundaryConditions.get_b(), ENGINE.boundaryConditions.get_c()] ) /2.3027 rmax = min( [Ebc.get_a(), Ebc.get_b(), Ebc.get_c()] ) /2. 3027 3028 ''' 3028 3029 import atmdata 3029 rundata += '# conversion factors (may be needed)\n'3030 rundata += ' sumCiBi2 = 0.\n'3031 for elem in Phase['General']['AtomTypes']:3032 rundata += ' Ci = ENGINE.numberOfAtomsPerElement["{}"]/len(ENGINE.allElements)\n'.format(elem)3033 rundata += ' sumCiBi2 += (Ci*{})**2\n'.format(atmdata.AtmBlens[elem+'_']['SL'][0])3030 # rundata += ' # conversion factors (may be needed)\n' 3031 # rundata += ' sumCiBi2 = 0.\n' 3032 # for elem in Phase['General']['AtomTypes']: 3033 # rundata += ' Ci = ENGINE.numberOfAtomsPerElement["{}"]/len(ENGINE.allElements)\n'.format(elem) 3034 # rundata += ' sumCiBi2 += (Ci*{})**2\n'.format(atmdata.AtmBlens[elem+'_']['SL'][0]) 3034 3035 rundata += ' rho0 = len(ENGINE.allNames)/ENGINE.volume\n' 3035 3036 # settings that require a new Engine … … 3043 3044 rundata += ' GR = np.loadtxt(os.path.join(dirName,"%s")).T\n'%filDat[0] 3044 3045 if filDat[3] == 0: 3045 rundata += ''' # read and xform G(r) as defined in RMCProfile3046 #rundata += ''' # read and xform G(r) as defined in RMCProfile 3046 3047 # see eq. 44 in Keen, J. Appl. Cryst. (2001) 34 172-177\n''' 3047 rundata += ' GR[1] *= 4 * np.pi * GR[0] * rho0 / sumCiBi2\n' 3048 rundata += ' GofR = fPDF.PairDistributionConstraint(experimentalData=GR.T, weighting="%s")\n'%sfwt 3048 #rundata += ' GR[1] *= 4 * np.pi * GR[0] * rho0 / sumCiBi2\n' 3049 #rundata += ' GofR = fPDF.PairDistributionConstraint(experimentalData=GR.T, weighting="%s")\n'%sfwt 3050 rundata += ' # G(r) as defined in RMCProfile\n' 3051 rundata += ' GofR = fullrmc.Constraints.RadialDistributionConstraints.RadialDistributionConstraint(experimentalData=GR.T, weighting="%s")\n'%sfwt 3049 3052 elif filDat[3] == 1: 3050 3053 rundata += ' # This is G(r) as defined in PDFFIT\n' … … 3060 3063 rundata += ' SOQ = np.loadtxt(os.path.join(dirName,"%s")).T\n'%filDat[0] 3061 3064 if filDat[3] == 0: 3062 rundata += ' # Read & xform F(Q) as defined in RMCProfile to S(Q)-1\n' 3063 rundata += ' SOQ[1] *= 1 / sumCiBi2\n' 3065 rundata += ' # F(Q) as defined in RMCProfile\n' 3066 #rundata += ' SOQ[1] *= 1 / sumCiBi2\n' 3067 if filDat[4]: 3068 rundata += ' SOQ[1] = Collection.sinc_convolution(q=SOQ[0],sq=SOQ[1],rmax=rmax)\n' 3069 rundata += ' SofQ = fullrmc.Constraints.StructureFactorConstraints.NormalizedStructureFactorConstraint(experimentalData=SOQ.T, weighting="%s")\n'%sfwt 3064 3070 elif filDat[3] == 1: 3065 rundata += ' # This isS(Q) as defined in PDFFIT\n'3071 rundata += ' # S(Q) as defined in PDFFIT\n' 3066 3072 rundata += ' SOQ[1] -= 1\n' 3067 if filDat[4]: 3068 rundata += ' SOQ[1] = Collection.sinc_convolution(q=SOQ[0],sq=SOQ[1],rmax=rmax)\n' 3069 rundata += ' SofQ = ReducedStructureFactorConstraint(experimentalData=SOQ.T, weighting="%s")\n'%sfwt 3073 if filDat[4]: 3074 rundata += ' SOQ[1] = Collection.sinc_convolution(q=SOQ[0],sq=SOQ[1],rmax=rmax)\n' 3075 rundata += ' SofQ = ReducedStructureFactorConstraint(experimentalData=SOQ.T, weighting="%s")\n'%sfwt 3076 else: 3077 raise ValueError('Invalid S(Q) type: '+str(filDat[3])) 3070 3078 rundata += ' ENGINE.add_constraints([SofQ])\n' 3071 3079 else: … … 3096 3104 else: 3097 3105 ENGINE = ENGINE.load(path=engineFileName) 3098 rmax = min( [E NGINE.boundaryConditions.get_a(), ENGINE.boundaryConditions.get_b(), ENGINE.boundaryConditions.get_c()] ) /2.3106 rmax = min( [Ebc.get_a(), Ebc.get_b(), Ebc.get_c()] ) /2. 3099 3107 3100 3108 ENGINE.set_log_file(os.path.join(dirName,prefix))
Note: See TracChangeset
for help on using the changeset viewer.