Exemplo n.º 1
0
def SimInt_PSPVP(FITPAR):
    T=int(FITPAR[len(FITPAR)-3])
    Disc=int(FITPAR[len(FITPAR)-2])
    Pitch=int(FITPAR[len(FITPAR)-4])
    Spline=np.reshape(FITPAR[0:T*5],(T,5))
    Spline
    Offset=FITPAR[T*5:T*5+7]
    SPAR=FITPAR[T*5+7:T*5+11]
    Coord=CD.PSPVPCoord(Spline,MCoord,Trapnumber, Disc,Pitch, Offset)
    F1 = CD.FreeFormTrapezoid(Coord[:,:,0],Qx,Qz,Disc+1)
    F2 = CD.FreeFormTrapezoid(Coord[:,:,1],Qx,Qz,Disc+1)
    F3 = CD.FreeFormTrapezoid(Coord[:,:,2],Qx,Qz,Disc+1)
    F4 = CD.FreeFormTrapezoid(Coord[:,:,3],Qx,Qz,Disc+1)
    F5 = CD.FreeFormTrapezoid(Coord[:,:,4],Qx,Qz,Disc+1)
    F6 = CD.FreeFormTrapezoid(Coord[:,:,5],Qx,Qz,Disc+1)
    F7 = CD.FreeFormTrapezoid(Coord[:,:,6],Qx,Qz,Disc+1)
    F8 = CD.FreeFormTrapezoid(Coord[:,:,7],Qx,Qz,Disc+1)    
    Formfactor=(F1+F2+F3+F4+F5+F6+F7+F8)
    M=np.power(np.exp(-1*(np.power(Qx,2)+np.power(Qz,2))*np.power(SPAR[0],2)),0.5);
    Formfactor=Formfactor*M
    SimInt = np.power(abs(Formfactor),2)*SPAR[1]+SPAR[2]
    return SimInt
Exemplo n.º 2
0
Spline[2, 2] = 1
Spline[2, 3] = 1
Spline[2, 4] = 1
Spline[3, 0] = 21
Spline[3, 1] = 3
Spline[3, 2] = -1
Spline[3, 3] = -0.5
Spline[3, 4] = -1
Spline[4, 0] = 24
Spline[4, 1] = 3
Spline[4, 2] = -1
Spline[4, 3] = -0.5
Spline[4, 4] = -1

MCoord = np.loadtxt('MCOORDPSPVP1.txt')
(Coord) = CD.PSPVPCoord(Spline, MCoord, Trapnumber, Disc, Pitch, Offset)
(FITPAR, FITPARLB, FITPARUB) = CD.PSPVP_PB(Offset, Spline, SPAR, Trapnumber,
                                           Disc)

MCPAR = np.zeros([7])
MCPAR[0] = 1000  # Chainnumber
MCPAR[1] = len(FITPAR)
MCPAR[2] = 100  #stepnumber
MCPAR[3] = 0  #randomchains
MCPAR[4] = 1  # Resampleinterval
MCPAR[5] = 40  # stepbase
MCPAR[6] = 200  # steplength


def SimInt_PSPVP(FITPAR):
    T = int(FITPAR[len(FITPAR) - 3])