<div>Hello Emmanuel,<br><br><pre style="font-family: ËÎÌå;">Thank you for your reply.I do not use network disk. I just output to local computer. Taking notice of the neutron file "DataAfterMono_list.p.x.y.z.vx.vy.vzt.sx.sy.sz", it approximates 1.2GB including  17417317 events (all)! Is it the reason why it takes a long time to "Virtual_input" neutron file? <br><br>The codes to generate data is as the following:<br>/*******************************************************************************<br>*<br>* %Parameters<br>* dist:       [m]    focusing distance from source to SlitIn<br>* GapM2_G:    [m]    distance between M2Exit and guide entrance<br>* xw:         [m]    width of neutron guide entrance<br>* yh:         [m]    height of neutron guide entrance<br>* l:          [m]    length of straight neutron guide<br>* m:          [1]    multiplication factor<br>* CH1:        [']    horizontal divergence of the first collimator<br>* len_C1      [m]    length of the first collimator<br>* L1:         [m]    distance between first collimator exit and mono,0.01~0.3AA<br>* lambda:     [Angs] Wavelength at monochromator,value:1.2~3<br>* DM:         [Angs] d-spacing of monochromator<br>* NH:         [columns]   number of horizontal slabs<br>* NV:         [columns}   number of vertical slabs<br>* mosaich:    [']    horizontal mosaics<br>* mosaicv:    [']    vertical mosaics<br>* RV:         [m]    Monochromator vertical curvature, 0 for flat, -1 for automatic<br>*                    setting(then RV=2*L2*sin(DEG2RAD*A1) )<br>* RH:         [m]    Monochromator horizontal curvature, 0 for flat, -1 for automatic<br>*                    setting(then  RH = 2*L2/sin(DEG2RAD*A1))<br>* L2:         [m]    distance between mono and sample<br>* %Link<br>* A reference/HTML link for more information<br>*<br>* %End<br>*******************************************************************************/<br>/* Change name of instrument and input parameters with default values */<br>DEFINE INSTRUMENT residual_stress(<br>   dist=4.049, GapM2_G=0, xw=0.06, yh=0.11, l=6, m=2, CH1=10, <br>   L1=0.3, A1=30, DM=3.355, len_C1=0.6, NH=1, NV=15, mosaich=25,mosaicv=25,<br>   RV=-1, RH=0, L2=1.9) <br>/* The DECLARE section allows us to declare variables or  small      */<br>/* functions in C syntax. These may be used in the whole instrument. */<br><br>DECLARE<br>%{<br>double M2Exit_mono; /* distance between M2Exit and monochromator */<br>double lambda; /*wavelength after diffraction*/<br>double monow; /*width of mono*/ <br>%}<br><br>/* The INITIALIZE section is executed when the simulation starts     */<br>/* (C code). You may use them as component parameter values.         */<br>INITIALIZE<br>%{<br>M2Exit_mono=GapM2_G+l+len_C1+L1;<br>lambda=2*DM*sin(DEG2RAD*A1);<br>if (RV<0) RV=2*L2*sin(DEG2RAD*A1);<br>if (RH<0) RH = 2*L2/sin(DEG2RAD*A1);<br>monow=xw/sin(DEG2RAD*A1);<br>printf("\nlambda=%f\tRV=%f\tRH=%f\tmonow=%f\n",lambda,RV,RH,monow); <br>%}<br><br>/* Here comes the TRACE section, where the actual      */<br>/* instrument is defined as a sequence of components.  */<br>TRACE<br>/* Progress_bar is an Arm displaying simulation progress.*/<br>COMPONENT Origin = Progress_bar()<br>  AT (0,0,0) ABSOLUTE<br>/********************* reactor source********************************/<br>COMPONENT Source = Source_Maxwell_3(<br>    height = 0.11, width =0.06 , <br>    l_low =0.2,l_high =7,               <br>    dist = dist,                         <br>    xw = 0.08, yh = 0.13,<br>    T1 = 320,I1 =9.87E12) <br>   AT (0, 0, 0)  RELATIVE Origin<br>/***********thermal channel,4.049m*110mm*60mm********/<br>COMPONENT SlitIn = Slit(<br>    width = 0.06, height = 0.11)<br>  AT (0, 0, 0 ) RELATIVE  Source<br>COMPONENT M2Exit = Slit(<br>    width = 0.06, height = 0.11)<br>  AT (0, 0, 4.049 ) RELATIVE SlitIn <br> /************************straightguide*******************/<br>COMPONENT straight_guide = Guide(<br>    w1 = xw, h1 = yh, w2 = xw, h2 = yh, l =l, m = m)<br>  AT (0, 0, GapM2_G) RELATIVE M2Exit<br>/**********************first collimator**********************/<br>COMPONENT collimator1 = Collimator_linear(<br>    xmin = -xw/2, xmax = xw/2, ymin = -yh/2, ymax = yh/2,<br>    len = len_C1, divergence = CH1)<br>  AT (0, 0, l) RELATIVE straight_guide<br>/************************mono_craddle*************************/<br>COMPONENT mono_craddle = Arm(<br>    )<br>  AT (0, 0, M2Exit_mono) RELATIVE M2Exit<br>  ROTATED (0, A1, 0) RELATIVE Origin<br>/***************************monochromator****************************/<br>COMPONENT monochromator = Monochromator_curved(<br>    width=monow, height=0.13, NH=NH, NV=NV,reflect = "HOPG.rfl", transmit = "HOPG.trm",<br>    gap = 0.0005,  mosaich = mosaich, mosaicv = mosaicv, r0 = 1, <br>    t0 = 1.0, RV = RV, RH = RH, DM = DM)<br>  AT (0, 0, 0) RELATIVE mono_craddle<br>/*********************mono_out*******************/<br>COMPONENT mono_out = Arm(<br>    )<br>  AT (0, 0, 0) RELATIVE mono_craddle<br>  ROTATED (0, +2*A1, 0) RELATIVE Origin<br>/******************psd_after_mono********************/<br>COMPONENT psd_after_mono = PSD_monitor(<br>    nx = 90, ny =90, filename = "psd_after_mono ",<br>    xwidth =0.2, yheight =0.2)<br>  AT (0, 0, 0.4) RELATIVE mono_out<br>/********************Virtual_output*********************/<br>COMPONENT DataAfterMono = Virtual_output(<br>    file = "DataAfterMono")<br>  AT (0, 0, 0.4) RELATIVE mono_out<br>/* This section is executed when the simulation ends (C code). Other    */<br>/* optional sections are : SAVE                                         */<br>FINALLY<br>%{<br>%}<br>/* The END token marks the instrument definition end */<br>END<br><br>I run it with ncount=1E8, Scilab on another computer(XP platform).It needs 14.2667 minutes.<br><br>Under the same directory, I run the split simulation with repeat=1,lenC2=0.45 and ncout=1E8, Scilab. It takes <br>/*******************************************************************************<br>* %Parameters<br>* repeat: [1] repeat count<br>* lenC2:      [m] length of collimator 2<br>* %Link<br>* A reference/HTML link for more information<br>*<br>* %End<br>*******************************************************************************/<br>/* Change name of instrument and input parameters with default values */<br>DEFINE INSTRUMENT test(repeat=1,lenC2)<br><br>/* The DECLARE section allows us to declare variables or  small      */<br>/* functions in C syntax. These may be used in the whole instrument. */<br>DECLARE<br>%{<br>%}<br><br>/* The INITIALIZE section is executed when the simulation starts     */<br>/* (C code). You may use them as component parameter values.         */<br>INITIALIZE<br>%{<br>%}<br><br>/* Here comes the TRACE section, where the actual      */<br>/* instrument is defined as a sequence of components.  */<br>TRACE<br><br>COMPONENT SourceAfterMono = Virtual_input(<br>    file = "DataAfterMono_list.p.x.y.z.vx.vy.vz.t.sx.sy.sz", repeat_count = repeat)<br>  AT (0,0,0) ABSOLUTE<br><br>COMPONENT PsdAtEntrance = PSD_monitor(<br>    filename = "PsdAtEntrance", xwidth = 0.2, yheight = 0.2)<br>  AT (0, 0, 1.35-lenC2) RELATIVE SourceAfterMono<br><br>/* This section is executed when the simulation ends (C code). Other    */<br>/* optional sections are : SAVE                                         */<br>FINALLY<br>%{<br>%}<br>/* The END token marks the instrument definition end */<br>END<br><br>Looking forward to your reply!<br><br>Regards,<br>Tom<br><br><br><br><br><br><br></pre><br><br><br></div><div> </div>