Compare commits
8 Commits
liquids_addon
...
mooc
| Author | SHA1 | Date | |
|---|---|---|---|
| b520d1c9d1 | |||
| e73d512b9c | |||
| 52db780c96 | |||
| 2b780d8f1f | |||
| ef1dc84488 | |||
| 1857f9b0dd | |||
| 29b537efce | |||
| c938f456bf |
Executable
+9
@@ -0,0 +1,9 @@
|
||||
#!/bin/bash
|
||||
# compress McStas hdf5 files to increase performance and save disk space
|
||||
|
||||
for fi in $*
|
||||
do
|
||||
echo $fi
|
||||
h5repack -i $fi -o $fi.c -f /entry1/data/of_detector_list_p_x_y_t_L_sx_sy/events:GZIP=5 -l /entry1/data/of_detector_list_p_x_y_t_L_sx_sy/events:CHUNK=3072x7
|
||||
mv $fi.c $fi
|
||||
done
|
||||
+25
-136
@@ -10,147 +10,36 @@ seterr(all='ignore')
|
||||
import estia_help as eh
|
||||
import mcstas_reader as mr
|
||||
|
||||
|
||||
# Scaling factor of source monitor after normalizing by area to get to brilliance.
|
||||
# Converts from 1.5x4.0 degree² acceptance range to 1/steradian
|
||||
# Factor 10 due to 0.1 Angstrom binning.
|
||||
BT_SOURCE_SCALE=10.*(180.**2/pi**2)/1.5/4.0
|
||||
BT_SAMPLE_SCALE=10.*(180.**2/pi**2)/1.5/1.5
|
||||
|
||||
# work around for wrong wavelength calculation in pulse skipping mode
|
||||
eh.l_code='((t-0.0335)%%(%f/14.)+0.0335-0.0015)*101.436605'
|
||||
|
||||
if __name__=='__main__':
|
||||
if not os.path.exists('../results/analyzed'):
|
||||
os.mkdir('../results/analyzed')
|
||||
if not os.path.exists('../results/mooc_analyzed'):
|
||||
os.mkdir('../results/mooc_analyzed')
|
||||
|
||||
if len(sys.argv)>1:
|
||||
only_items=map(int, sys.argv[1:])
|
||||
else:
|
||||
only_items=range(100)
|
||||
|
||||
if 1 in only_items:
|
||||
print "Brilliance Transfer 5x10"
|
||||
bt_10=mr.McSim('../results/brilliance_5x10/mccode.h5')
|
||||
d=bt_10['tof_sample.L']
|
||||
vs=bt_10['tof_virtual_source.L']
|
||||
r=bt_10['tof_source.L']
|
||||
x, y, e=eh.calc_brilliance_transfer(d, BT_SAMPLE_SCALE*2., r, BT_SOURCE_SCALE)
|
||||
savetxt('../results/analyzed/brilliance_transfer_5x10.dat', array([x, y, e]).T)
|
||||
savetxt('../results/analyzed/brilliance_5x10.dat', array([x, d.data*BT_SAMPLE_SCALE*2.,
|
||||
d.errors*BT_SAMPLE_SCALE*2.]).T)
|
||||
x, y, e=eh.calc_brilliance_transfer(vs, BT_SAMPLE_SCALE, r, BT_SOURCE_SCALE)
|
||||
savetxt('../results/analyzed/brilliance_transfer_vs_5x10.dat', array([x, y, e]).T)
|
||||
|
||||
btn_10=mr.McSim('../results/brilliance_nowindow_5x10/mccode.h5')
|
||||
d=btn_10['tof_sample.L']
|
||||
vs=btn_10['tof_virtual_source.L']
|
||||
r=btn_10['tof_source.L']
|
||||
x, y, e=eh.calc_brilliance_transfer(d, BT_SAMPLE_SCALE*2., r, BT_SOURCE_SCALE)
|
||||
savetxt('../results/analyzed/brilliance_transfer_nowindow_5x10.dat', array([x, y, e]).T)
|
||||
x, y, e=eh.calc_brilliance_transfer(vs, BT_SAMPLE_SCALE, r, BT_SOURCE_SCALE)
|
||||
savetxt('../results/analyzed/brilliance_transfer_nowindow_vs_5x10.dat', array([x, y, e]).T)
|
||||
print "pulse skipping mode"
|
||||
opts=dict(qres=0.02, qmin=0.007, qmax=0.2, mindq=2e-5, crop_overlap=False)
|
||||
names=['q_z', 'Intensity(ToF)', 'Reflectivity(ToF)',
|
||||
'1s-Stat(ToF)', '1pulse-Stat(ToF)', '10s-Statistics(ToF)',
|
||||
'Intensity(λ)', 'Reflectivity(λ)']
|
||||
units=['A^{-1}', 'cts/s', '1', 'cts/s', '1']
|
||||
info='Reflectivity simulation for 50x10mm² sample, 2-pulse skipping'
|
||||
|
||||
|
||||
if 2 in only_items:
|
||||
print "Brilliance Transfer 1x1"
|
||||
bt_1=mr.McSim('../results/brilliance_1x1/mccode.h5')
|
||||
d=bt_1['tof_sample.L']
|
||||
r=bt_1['tof_source.L']
|
||||
x, y, e=eh.calc_brilliance_transfer(d, BT_SAMPLE_SCALE*100, r, BT_SOURCE_SCALE)
|
||||
savetxt('../results/analyzed/brilliance_transfer_1x1.dat', array([x, y, e]).T)
|
||||
savetxt('../results/analyzed/brilliance_1x1.dat', array([x, d.data*BT_SAMPLE_SCALE*100,
|
||||
d.errors*BT_SAMPLE_SCALE*100]).T)
|
||||
|
||||
if 3 in only_items:
|
||||
print "Refelctiviy 10x10 sample"
|
||||
opts=dict(qres=0.01, qmin=0.003, qmax=0.5, mindq=5e-4)
|
||||
names=['q_z', 'Intensity(ToF)', 'Reflectivity(ToF)', 'dR (1s ToF)', 'Intensity(λ)', 'Reflectivity(λ)']
|
||||
units=['A^{-1}', 'cts/s', '1', 'cts/s', '1']
|
||||
info='Reflectivity simulation for 10x10mm² sample, omega=%.1f deg'
|
||||
|
||||
print "0.8 degree"
|
||||
ref=mr.McSim('../results/reference_10x10_10/mccode.h5')['tof_detector']
|
||||
ni_08=mr.McSim('../results/nickle_10x10_08/mccode.h5')['tof_detector']
|
||||
q, I, R=eh.calcR(ni_08, ref, 0.8, 1.0, detcorr=True, **opts)
|
||||
q, I_real, R_real=eh.calcR(ni_08, ref, 0.8, 1.0, use_tof=False, **opts)
|
||||
idx_start, idx_end=where((I>0.)&(I_real>0.))[0][[0,-1]]
|
||||
eh.save_w_header('../results/analyzed/reflectivity_10x10_08.dat',
|
||||
[q[idx_start:idx_end+1],
|
||||
I[idx_start:idx_end+1], R[idx_start:idx_end+1],
|
||||
(R/sqrt(I))[idx_start:idx_end+1],
|
||||
I_real[idx_start:idx_end+1], R_real[idx_start:idx_end+1]],
|
||||
info, names, units)
|
||||
del(ni_08)
|
||||
|
||||
print "3.0 degree"
|
||||
ni_30=mr.McSim('../results/nickle_10x10_30/mccode.h5')['tof_detector']
|
||||
q, I, R=eh.calcR(ni_30, ref, 3.0, 1.0, detcorr=True, **opts)
|
||||
q, I_real, R_real=eh.calcR(ni_30, ref, 3.0, 1.0, use_tof=False, **opts)
|
||||
idx_start, idx_end=where((I>0.)&(I_real>0.))[0][[0,-1]]
|
||||
eh.save_w_header('../results/analyzed/reflectivity_10x10_30.dat',
|
||||
[q[idx_start:idx_end+1],
|
||||
I[idx_start:idx_end+1], R[idx_start:idx_end+1],
|
||||
(R/sqrt(I))[idx_start:idx_end+1],
|
||||
I_real[idx_start:idx_end+1], R_real[idx_start:idx_end+1]],
|
||||
info, names, units)
|
||||
del(ni_30)
|
||||
|
||||
print "8.0 degree"
|
||||
ni_80=mr.McSim('../results/nickle_10x10_80/mccode.h5')['tof_detector']
|
||||
q, I, R=eh.calcR(ni_80, ref, 8.0, 1.0, detcorr=True, **opts)
|
||||
q, I_real, R_real=eh.calcR(ni_80, ref, 8.0, 1.0, use_tof=False, **opts)
|
||||
idx_start, idx_end=where((I>0.)&(I_real>0.))[0][[0,-1]]
|
||||
eh.save_w_header('../results/analyzed/reflectivity_10x10_80.dat',
|
||||
[q[idx_start:idx_end+1],
|
||||
I[idx_start:idx_end+1], R[idx_start:idx_end+1],
|
||||
(R/sqrt(I))[idx_start:idx_end+1],
|
||||
I_real[idx_start:idx_end+1], R_real[idx_start:idx_end+1]],
|
||||
info, names, units)
|
||||
|
||||
if 4 in only_items:
|
||||
print "10x10 sample pulse skipping mode."
|
||||
opts=dict(qres=0.04, qmin=0.003, qmax=0.2, mindq=2e-4)
|
||||
names=['q_z', 'Intensity(ToF)', 'Reflectivity(ToF)', 'Intensity(λ)', 'Reflectivity(λ)']
|
||||
units=['A^{-1}', 'cts/s', '1', 'cts/s', '1']
|
||||
info='Reflectivity simulation for 10x10mm² sample, 2-pulse skipping'
|
||||
|
||||
ref=mr.McSim('../results/single_skip_reference/mccode.h5')['tof_detector']
|
||||
ni=mr.McSim('../results/single_skip_nickle/mccode.h5')['tof_detector']
|
||||
q, I, R=eh.calcR(ni, ref, 2.0, skip_pulses=2, **opts)
|
||||
q, I_real, R_real=eh.calcR(ni, ref, 2.0, skip_pulses=2, use_tof=False, **opts)
|
||||
ref=mr.McSim('../results/mooc_reference_ps')['tof_detector']
|
||||
|
||||
for i in range(6):
|
||||
print "dataset",i
|
||||
sample=mr.McSim('../results/mooc_model_ps_%i'%i)['tof_detector']
|
||||
q, I, R=eh.calcR(sample, ref, 1.5, 1.5, skip_pulses=2, **opts)
|
||||
q, I_real, R_real=eh.calcR(sample, ref, 1.5, 1.5, skip_pulses=2, use_tof=False, **opts)
|
||||
idx_start, idx_end=where((I>0.))[0][[0,-1]]
|
||||
eh.save_w_header('../results/analyzed/single_skip_reflectivity.dat',
|
||||
[q[idx_start:idx_end+1],
|
||||
I[idx_start:idx_end+1], R[idx_start:idx_end+1],
|
||||
eh.save_w_header('../results/mooc_analyzed/model%i_skip_reflectivity.dat'%i,
|
||||
[q[idx_start:idx_end+1],
|
||||
I[idx_start:idx_end+1], R[idx_start:idx_end+1],
|
||||
random.poisson(I[idx_start:idx_end+1])/I[idx_start:idx_end+1]*R[idx_start:idx_end+1],
|
||||
random.poisson(I[idx_start:idx_end+1]*3./14.)/I[idx_start:idx_end+1]*14./3.*R[idx_start:idx_end+1],
|
||||
random.poisson(I[idx_start:idx_end+1]*10.)/I[idx_start:idx_end+1]/10.*R[idx_start:idx_end+1],
|
||||
I_real[idx_start:idx_end+1], R_real[idx_start:idx_end+1]],
|
||||
info, names, units)
|
||||
info, names, units)
|
||||
|
||||
if 5 in only_items:
|
||||
print "Extracting event statistics."
|
||||
fh=open('../results/analyzed/event_stats.dat', 'w')
|
||||
fh.write('# event statistics for Estia\n')
|
||||
fh.write('# item avg. total peak total avg. ROI peak ROI\n')
|
||||
fh.write('# [cps] [cps] [cps/mm²] [cps/mm²]\n')
|
||||
line='%(name)s %(total) 12e %(peak) 12e %(roi) 12e %(roi_peak) 12e\n'
|
||||
|
||||
ds=mr.McSim('../results/reference_10x10_10/mccode.h5')['tof_detector']
|
||||
res=eh.calcStat(ds)
|
||||
res['name']='Reference'
|
||||
fh.write(line%res)
|
||||
|
||||
ds=mr.McSim('../results/nickle_10x10_08/mccode.h5')['tof_detector']
|
||||
res=eh.calcStat(ds)
|
||||
res['name']='Ni-0.8deg'
|
||||
fh.write(line%res)
|
||||
|
||||
ds=mr.McSim('../results/nickle_10x10_30/mccode.h5')['tof_detector']
|
||||
res=eh.calcStat(ds)
|
||||
res['name']='Ni-3.0deg'
|
||||
fh.write(line%res)
|
||||
|
||||
ds=mr.McSim('../results/nickle_10x10_80/mccode.h5')['tof_detector']
|
||||
res=eh.calcStat(ds)
|
||||
res['name']='Ni-8.0deg'
|
||||
fh.write(line%res)
|
||||
|
||||
fh.close()
|
||||
|
||||
|
||||
@@ -49,7 +49,8 @@
|
||||
*******************************************************************************/
|
||||
|
||||
DEFINE INSTRUMENT ESS_reflectometer_Estia
|
||||
(double omegaa = 1.2, int sample = 0, double sample_length = 0.01, double sample_height = 0.01,
|
||||
(double omegaa = 1.2, int sample = 1, string sample_file="alessandra_model_2_nores_000.dat",
|
||||
double sample_length = 0.01, double sample_height = 0.01,
|
||||
int operationmode = 0, double over_illumination = 0.0, double theta_resolution = 0.04,
|
||||
double lambda_min = 3.75, double lambda_start = 3.0, double lambda_end = 12.0,
|
||||
int enable_chopper = 0, int enable_gravity=0, int enable_windows=1,
|
||||
@@ -89,7 +90,7 @@ double chopper_phase ; // deg phase between pulse and chopper ope
|
||||
double chopper_open ; // deg of opening angle in the chopper
|
||||
double pulse_zero = 0.00175; // ms intensity weighted average time of emitted neutron pulse
|
||||
double opening_time = 0.0015; // ms time to reach full intensity on detector, used to adjust phase to get full intensity at beginning of selected band
|
||||
double chopper_freq = 14.0 ; // Hz chopper frequency
|
||||
double chopper_freq = 14.0; // Hz chopper frequency
|
||||
|
||||
double slit_distance = 1.775; //m, distance slit to sample
|
||||
|
||||
@@ -112,6 +113,8 @@ double Theta1_analyzer1, Theta1_analyzer2, Theta2_analyzer1, Theta2_analyzer2, d
|
||||
|
||||
INITIALIZE
|
||||
%{
|
||||
|
||||
chopper_freq/=fmax(1.0, enable_chopper);
|
||||
// chopper coupling together
|
||||
velocity_max= 3.956034E3 / lambda_min; // h/m_n over lambda - ((3.9..e-7m^2/s))/(1e-10m)
|
||||
chopper_phase=360.0*(chopper_pos*chopper_freq/velocity_max+(pulse_zero-opening_time)*chopper_freq);
|
||||
@@ -198,16 +201,6 @@ COMPONENT moderator = ESS_butterfly(
|
||||
n_pulses = 1+enable_chopper, acc_power=source_power)
|
||||
AT (0, 0, 0) RELATIVE origin
|
||||
|
||||
|
||||
// monitor used for brilliance transfer calculations
|
||||
COMPONENT tof_source = Monitor_nD(
|
||||
filename = "tof_source",
|
||||
options = "xdiv limits=[-0.75 0.75] bins=15 ydiv limits=[-2.0 2.0] bins=40 time limits=[0 0.6] bins=600 lambda limits=[0 35] bins=350",
|
||||
xwidth=0.01, yheight = 0.01)
|
||||
WHEN sample==4
|
||||
AT (0, 0, 0.03) RELATIVE ISCS
|
||||
ROTATED (0,-selene_theta,0) RELATIVE ISCS
|
||||
|
||||
/***************************************
|
||||
* Geometry of neutron feeder separate *
|
||||
***************************************/
|
||||
@@ -228,34 +221,9 @@ COMPONENT FeNi_out = Slit(xwidth=0.013, yheight=0.038)
|
||||
COMPONENT chopper = DiskChopper(radius=chopper_diameter/2.0, yheight=0.02,
|
||||
theta_0=chopper_open, phase=chopper_phase+chopper_open/2.0,
|
||||
nu=chopper_freq, nslit=1)
|
||||
WHEN enable_chopper==1
|
||||
WHEN enable_chopper!=0
|
||||
AT (0, 0, chopper_pos-2*NBOA_c) RELATIVE arm_virtual_source_beam
|
||||
|
||||
// Beam monitoring before VS
|
||||
COMPONENT DP_before_virtual_source = DivPos_monitor(
|
||||
filename = "DP_before_virtual_source" ,
|
||||
nh = 200, ndiv = 200,
|
||||
xwidth = 0.2, yheight = 0.2,
|
||||
maxdiv_h = 6,
|
||||
restore_neutron = 1)
|
||||
AT (0, 0, -0.022) RELATIVE arm_virtual_source_beam
|
||||
|
||||
COMPONENT PP_small_before_virtual_source = PSD_monitor(
|
||||
filename = "PP_small_before_virtual_source",
|
||||
nx = 200, ny = 200,
|
||||
xwidth = 0.1, yheight = 0.1,
|
||||
restore_neutron = 1)
|
||||
WHEN PP_small ==1
|
||||
AT (0, 0, -0.021) RELATIVE arm_virtual_source_beam
|
||||
|
||||
COMPONENT PP_large_before_virtual_source = PSD_monitor(
|
||||
filename = "PP_large_before_virtual_source",
|
||||
nx = 200, ny = 200,
|
||||
xmin = -1.8, xmax = 1.8, ymin = -1.8, ymax = 1.8,
|
||||
restore_neutron = 1)
|
||||
WHEN PP_large ==1
|
||||
AT (0, 0, 2*NBOA_c-0.02) RELATIVE ISCS
|
||||
|
||||
|
||||
/* The actual virtual source mask, two L-shaped absorbers (first top-right) */
|
||||
COMPONENT virtual_source_TR = Slit(
|
||||
@@ -276,48 +244,6 @@ COMPONENT virtual_source_BL = Slit(
|
||||
WHEN sample!=4
|
||||
AT (over_illumination, 0, 0.5*sample_length) RELATIVE arm_virtual_source
|
||||
|
||||
|
||||
// Beam monitoring after VS
|
||||
COMPONENT tof_virtual_source = Monitor_nD(
|
||||
filename = "tof_virtual_source",
|
||||
options = "xdiv limits=[-0.75 0.75] bins=15 ydiv limits=[-2.0 2.0] bins=40 time limits=[0 0.6] bins=600 lambda limits=[0 35] bins=350",
|
||||
xwidth=sample_length, yheight = sample_height)
|
||||
WHEN sample==4
|
||||
AT (0, 0, 0.019) RELATIVE arm_virtual_source_beam
|
||||
|
||||
COMPONENT DL_behind_virtual_source = DivLambda_monitor(
|
||||
filename = "DL_behind_virtual_source",
|
||||
nL = 200, nh = 200,
|
||||
xwidth = 0.02, yheight = 0.06,
|
||||
maxdiv_h = 3,
|
||||
Lmin = lambda_start, Lmax = lambda_end,
|
||||
restore_neutron = 1)
|
||||
AT (0, 0, 0.02) RELATIVE arm_virtual_source_beam
|
||||
|
||||
COMPONENT DP_behind_virtual_source = DivPos_monitor(
|
||||
filename = "DP_behind_virtual_source" ,
|
||||
nh = 200, ndiv = 200,
|
||||
xwidth = 0.2, yheight = 0.2,
|
||||
maxdiv_h = 3,
|
||||
restore_neutron = 1)
|
||||
AT (0, 0, 0.021) RELATIVE arm_virtual_source_beam
|
||||
|
||||
COMPONENT PP_small_behind_virtual_source = PSD_monitor(
|
||||
filename = "PP_small_behind_virtual_source",
|
||||
nx = 200, ny = 200,
|
||||
xwidth = 0.02, yheight = 0.05,
|
||||
restore_neutron = 1)
|
||||
WHEN PP_small ==1
|
||||
AT (0, 0, 0.022) RELATIVE arm_virtual_source_beam
|
||||
|
||||
COMPONENT PP_large_behind_virtual_source = PSD_monitor(
|
||||
filename = "PP_large_behind_virtual_source",
|
||||
nx = 200, ny = 200,
|
||||
xmin = -1.8, xmax = 1.8, ymin = -1.8, ymax = 1.8,
|
||||
restore_neutron = 1)
|
||||
WHEN PP_large ==1
|
||||
AT (0, 0, 2*NBOA_c+0.023) RELATIVE ISCS
|
||||
|
||||
/*************************************
|
||||
* Geometry of Selene guide separate *
|
||||
*************************************/
|
||||
@@ -343,70 +269,6 @@ COMPONENT ac_slit = Slit(
|
||||
/***************
|
||||
* Sample area *
|
||||
***************/
|
||||
// Beam monitoring before sample
|
||||
COMPONENT PP_small_sample_focus = PSD_monitor(
|
||||
filename = "PP_small_sample_focus",
|
||||
nx = 200, ny = 200,
|
||||
xwidth = 0.02, yheight = 0.05,
|
||||
restore_neutron = 1)
|
||||
WHEN PP_small ==1
|
||||
AT (0, 0, -0.001) RELATIVE arm_sample
|
||||
|
||||
COMPONENT DL_sample_focus = DivLambda_monitor(
|
||||
filename = "DL_sample_focus",
|
||||
nL = 200, nh = 200,
|
||||
xwidth = 0.02, yheight = 0.06,
|
||||
maxdiv_h = 3,
|
||||
Lmin = lambda_start, Lmax = lambda_end,
|
||||
restore_neutron = 1)
|
||||
AT (0, 0, -0.001) RELATIVE arm_sample
|
||||
|
||||
/* monitor at sample position for footprint */
|
||||
COMPONENT PL_sample = Monitor_nD(
|
||||
filename = "PL_sample",
|
||||
options = "lambda limits=[0 35] bins=350 x limits=[-0.02 0.02] bins 160",
|
||||
xwidth = 0.04, yheight = 0.02, restore_neutron=1)
|
||||
WHEN sample!=4
|
||||
AT (0, 0, -0.001) RELATIVE arm_sample
|
||||
ROTATED (0, -90, 0) RELATIVE arm_sample
|
||||
|
||||
COMPONENT PSD_sample = PSD_monitor(
|
||||
filename = "PSD_sample",
|
||||
nx = 100, ny = 100,
|
||||
xwidth = 4*sample_length, yheight = 4*sample_height,
|
||||
restore_neutron = 1)
|
||||
WHEN sample!=4
|
||||
AT (0, 0, -0.001) RELATIVE arm_sample
|
||||
ROTATED (0, -90, 0) RELATIVE arm_sample
|
||||
|
||||
COMPONENT tof_sample = Monitor_nD(
|
||||
filename = "tof_sample",
|
||||
options = "xdiv limits=[-0.75 0.75] bins=15 ydiv limits=[-2.0 2.0] bins=40 time limits=[0 0.6] bins=600 lambda limits=[0 35] bins=350",
|
||||
xwidth=sample_length, yheight = sample_height)
|
||||
WHEN sample==4
|
||||
AT (0, 0, -0.0005) RELATIVE arm_sample_beam
|
||||
ROTATED (0, 0, 0) RELATIVE arm_sample_beam
|
||||
|
||||
/* monitor for full beam at sample position ( n/cm²/s ) */
|
||||
COMPONENT PP_small_sample = PSD_monitor(
|
||||
filename = "PSD_sample_perp",
|
||||
nx = 200, ny = 200,
|
||||
xwidth = 0.05, yheight = 0.05,
|
||||
restore_neutron = 1)
|
||||
WHEN sample==4
|
||||
AT (0, 0, 0) RELATIVE arm_sample_beam
|
||||
ROTATED (0, 0, 0) RELATIVE arm_sample_beam
|
||||
|
||||
|
||||
/* NiTi multilayer sample */
|
||||
COMPONENT sample = Mirror(
|
||||
xwidth = sample_length, yheight = sample_height,
|
||||
center = 1, transmit = 0,
|
||||
reflect = "NiTiML.ref"
|
||||
)
|
||||
WHEN sample==0
|
||||
AT (0, 0, 0) RELATIVE arm_sample
|
||||
ROTATED (0, 90, 0) RELATIVE arm_sample
|
||||
|
||||
/* ideal reflector as reference */
|
||||
COMPONENT reference_sample = Mirror(
|
||||
@@ -418,67 +280,19 @@ COMPONENT reference_sample = Mirror(
|
||||
AT (0, 0, 0) RELATIVE arm_sample
|
||||
ROTATED (0, 90, 0) RELATIVE arm_sample
|
||||
|
||||
/* Nickel film on silicon */
|
||||
COMPONENT ni_sample = Mirror(
|
||||
/* User defined sample file */
|
||||
COMPONENT mooc_sample = Mirror(
|
||||
xwidth = sample_length, yheight = sample_height,
|
||||
center = 1, transmit = 0,
|
||||
reflect = "Si-Ni.ref"
|
||||
reflect = sample_file
|
||||
)
|
||||
WHEN sample==2
|
||||
AT (0, 0, 0) RELATIVE arm_sample
|
||||
ROTATED (0, 90, 0) RELATIVE arm_sample
|
||||
|
||||
/* Silicon with natural oxide */
|
||||
COMPONENT si_sample = Mirror(
|
||||
xwidth = sample_length, yheight = sample_height,
|
||||
center = 1, transmit = 0,
|
||||
reflect = "Si-SiO2.ref"
|
||||
)
|
||||
WHEN sample==3
|
||||
AT (0, 0, 0) RELATIVE arm_sample
|
||||
ROTATED (0, 90, 0) RELATIVE arm_sample
|
||||
|
||||
|
||||
COMPONENT arm_analyzer = Arm()
|
||||
AT (0, 0, 0) RELATIVE arm_detector
|
||||
ROTATED (-selene_theta+(Theta1_analyzer1-Theta2_analyzer1)/2.0, 0, 0) RELATIVE arm_detector
|
||||
|
||||
COMPONENT arm_analyzer2 = Arm()
|
||||
AT (0, 0, 0) RELATIVE arm_detector
|
||||
ROTATED (-selene_theta+(Theta1_analyzer2-Theta2_analyzer2)/2.0, 0, 0) RELATIVE arm_detector
|
||||
|
||||
/* polarization analyser */
|
||||
COMPONENT analyzer1 = Polariser(nIncRefr=1, d_substrate = 5e-4, reflect_d=0, reflect_u=0, lin=analyzer1_start, length=analyzer1_length,
|
||||
delta_theta=(Theta1_analyzer1+Theta2_analyzer1+0.05)*PI/180.0, h2=0.14, h1=0.05, abs_ref=0,
|
||||
m_u=5.5, m_d=0.45, both_coated=0, alpha=2.3, W = 0.0014)
|
||||
WHEN enable_analyzer
|
||||
AT (0, 0.0, analyzer1_start) RELATIVE arm_analyzer
|
||||
ROTATED (0,0,0.0) RELATIVE arm_analyzer
|
||||
|
||||
COMPONENT analyzer2 = Polariser(nIncRefr=1, d_substrate = 5e-4, reflect_d=0, reflect_u=0, lin=analyzer2_start, length=analyzer2_length,
|
||||
delta_theta=(Theta1_analyzer2+Theta2_analyzer2+0.05)*PI/180.0, h2=0.2, h1=0.05, abs_out=0,
|
||||
m_u=5.0, m_d=0.65, both_coated=1, alpha=2.3, W = 0.0014)
|
||||
WHEN enable_analyzer==2
|
||||
AT (0, 0.0, analyzer2_start) RELATIVE arm_analyzer
|
||||
ROTATED (0,0,0.0) RELATIVE arm_analyzer
|
||||
|
||||
/* detector */
|
||||
// Beam monitoring at detector position
|
||||
COMPONENT PP_large_detector = PSD_monitor(
|
||||
filename = "PP_large_detector",
|
||||
nx = 200, ny = 200,
|
||||
xmin = -1.8, xmax = 1.8, ymin = -1.8, ymax = 1.8,
|
||||
restore_neutron = 1)
|
||||
AT (0, 0, total_length+detector_arm-0.001) RELATIVE ISCS
|
||||
|
||||
// Detector with 0.5x1mm² resolution
|
||||
COMPONENT PP_detector = PSD_monitor(
|
||||
filename = "PP_detector",
|
||||
nx = 1000, ny = 500,
|
||||
xwidth = 0.5, yheight = 0.5,
|
||||
restore_neutron = 1)
|
||||
AT (0, 0, detector_arm) RELATIVE arm_detector
|
||||
|
||||
COMPONENT tof_detector = Monitor_nD(
|
||||
filename = "tof_detector",
|
||||
options = "x limits=[-0.25 0.25] bins=1000 y limits=[-0.5 0.5] bins=1000 time limits=[0 0.6] bins=6000 lambda limits=[0 35] bins=3500 sx limits=[-1 1] bins=1000 sy limits=[-1 1] bins=1000, list all",
|
||||
|
||||
@@ -128,37 +128,8 @@ COMPONENT block_after_selene_guide_1 = Absorber(
|
||||
|
||||
/**************************************
|
||||
* Middle focus between Selene guides *
|
||||
**************************************/
|
||||
COMPONENT arm_polarizer = Arm()
|
||||
AT (0, 0, 2*selene_c) RELATIVE arm_selene1
|
||||
ROTATED (selene_theta, -selene_theta, 0) RELATIVE ISCS
|
||||
**************************************/
|
||||
|
||||
COMPONENT polarizer1 = Polariser(nIncRefr=1, d_substrate = 5e-4, reflect_d=0, reflect_u=0, lin=-(polarizer_start+polarizer_length), length=polarizer_length,
|
||||
delta_theta=(Theta1_polarizer+Theta2_polarizer)*PI/180.0, h2=0.1, h1=0.05, abs_ref=1, m_u=4.0, m_d=0.65, both_coated=1, alpha=2.3, W = 0.0014)
|
||||
WHEN enable_polarizer
|
||||
AT (0, 0, -(polarizer_start+polarizer_length)) RELATIVE arm_polarizer
|
||||
ROTATED (0,0,90.0) RELATIVE arm_polarizer
|
||||
|
||||
COMPONENT polmon_mfocus=PolLambda_monitor(Lmin=lambda_start, Lmax=lambda_end, nL=30, npol=101, my=1, filename="polmon_mfocus")
|
||||
WHEN enable_polarizer
|
||||
AT (0, 0, 2*selene_c) RELATIVE arm_selene1
|
||||
ROTATED (0.0,0.0,0.0) RELATIVE arm_selene1
|
||||
|
||||
|
||||
COMPONENT PP_small_before_middle_focus = PSD_monitor(
|
||||
filename = "PP_small_before_middle_focus",
|
||||
nx = 200, ny = 200,
|
||||
xwidth = 0.1, yheight = 0.1,
|
||||
restore_neutron = 1)
|
||||
AT (0, 0, 2*selene_c) RELATIVE arm_selene1
|
||||
|
||||
/* The proximal polariser comes next */
|
||||
COMPONENT polarizer2 = Polariser(nIncRefr=1, d_substrate = 5e-4, reflect_d=0, reflect_u=0, lin=polarizer_start, length=polarizer_length,
|
||||
delta_theta=(Theta1_polarizer+Theta2_polarizer)*PI/180.0, h2=0.1, h1=0.05, abs_ref=1, m_u=4.0, m_d=0.65, both_coated=1, alpha=2.3, W = 0.0014)
|
||||
WHEN (enable_polarizer>1)
|
||||
AT (0, 0, polarizer_start) RELATIVE arm_polarizer
|
||||
ROTATED (0.0,0,90.0) RELATIVE arm_polarizer
|
||||
|
||||
|
||||
|
||||
/**************************
|
||||
@@ -194,13 +165,6 @@ COMPONENT slit_within_selene_guide_2 = Slit(
|
||||
ymin = -selene_b, ymax=-selene_b*0.45+0.005)
|
||||
AT (0, 0, 1.0*selene_c) RELATIVE arm_selene2
|
||||
|
||||
/*COMPONENT block_within_selene_guide_2 = Absorber(
|
||||
xmin =-1, xmax=1,
|
||||
ymin =-selene_b*0.25+0.001,
|
||||
ymax = selene_b*0.25-0.001,
|
||||
zmin=0.0, zmax=0.0001)
|
||||
AT (0, 0, 3.0*selene_c+0.0001) RELATIVE arm_selene2*/
|
||||
|
||||
/* Selene 2 elliptic guide first half */
|
||||
COMPONENT selene_guide_22 = Elliptic_guide_gravity(
|
||||
l=0.5*selene_length-0.001, dimensionsAt = "mid",
|
||||
|
||||
-18001
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
-18000
File diff suppressed because it is too large
Load Diff
-18000
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,4 +0,0 @@
|
||||
foreach z ( `seq -0.5 0.125 0.5` )
|
||||
echo $z
|
||||
./run_simu.sh $z
|
||||
end
|
||||
@@ -1,213 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
DEST=../results
|
||||
ncount=2e7
|
||||
use_cores=4
|
||||
sample=4
|
||||
omega=0.8
|
||||
sample_length=0.01
|
||||
sample_height=0.01
|
||||
lambda_start=3.0
|
||||
lambda_end=32.0
|
||||
|
||||
###################### Brilliance Transfer 10x10mm² and 1x1mm² VS ####################
|
||||
if [ Estia_baseline.instr -nt Estia_baseline.out ]; then
|
||||
rm Estia_baseline.c Estia_baseline.out
|
||||
mcstas -o Estia_baseline.c Estia_baseline.instr
|
||||
mpicc -O3 -o Estia_baseline.out Estia_baseline.c -lm -DUSE_MPI -DUSE_NEXUS -lNeXus
|
||||
fi
|
||||
#
|
||||
# if [ Estia_baseline_ana1.instr -nt Estia_baseline_ana1.out ]; then
|
||||
# rm Estia_baseline_ana1.c Estia_baseline_ana1.out
|
||||
# mcstas -o Estia_baseline_ana1.c Estia_baseline_ana1.instr
|
||||
# mpicc -O3 -o Estia_baseline_ana1.out Estia_baseline_ana1.c -lm -DUSE_MPI -DUSE_NEXUS -lNeXus
|
||||
# fi
|
||||
#
|
||||
# if [ Estia_baseline_ana2.instr -nt Estia_baseline_ana2.out ]; then
|
||||
# rm Estia_baseline_ana2.c Estia_baseline_ana2.out
|
||||
# mcstas -o Estia_baseline_ana2.c Estia_baseline_ana2.instr
|
||||
# mpicc -O3 -o Estia_baseline_ana2.out Estia_baseline_ana2.c -lm -DUSE_MPI -DUSE_NEXUS -lNeXus
|
||||
# fi
|
||||
|
||||
|
||||
###################### Reference and Ni-layer measurement 10x10mm² sample ####################
|
||||
# ncount=1e10
|
||||
sample_length=0.01
|
||||
sample_height=0.01
|
||||
lambda_start=3.5
|
||||
lambda_end=30.0
|
||||
sample=1
|
||||
|
||||
# omega=1.0
|
||||
# DESTi=$DEST/pol_ref_10x10_10
|
||||
# if [ -e "$DESTi" ]; then
|
||||
# rm -r "$DESTi"
|
||||
# fi
|
||||
#
|
||||
# mpirun -np $use_cores Estia_baseline.out \
|
||||
# --dir="$DESTi" --ncount=$ncount --gravitation \
|
||||
# omegaa=$omega operationmode=0 theta_resolution=0.04 over_illumination=0.000 \
|
||||
# sample=$sample sample_length=$sample_length sample_height=$sample_height \
|
||||
# lambda_start=$lambda_start lambda_end=$lambda_end enable_gravity=1 enable_chopper=0 enable_polarizer=0 enable_analyzer=0
|
||||
#
|
||||
# DESTi=$DEST/pol1_10x10_10
|
||||
# if [ -e "$DESTi" ]; then
|
||||
# rm -r "$DESTi"
|
||||
# fi
|
||||
#
|
||||
# mpirun -np $use_cores Estia_baseline.out \
|
||||
# --dir="$DESTi" --ncount=$ncount --gravitation \
|
||||
# omegaa=$omega operationmode=0 theta_resolution=0.04 over_illumination=0.000 \
|
||||
# sample=$sample sample_length=$sample_length sample_height=$sample_height \
|
||||
# lambda_start=$lambda_start lambda_end=$lambda_end enable_gravity=1 enable_chopper=0 enable_polarizer=1 enable_analyzer=0
|
||||
#
|
||||
# DESTi=$DEST/pol2_10x10_10
|
||||
# if [ -e "$DESTi" ]; then
|
||||
# rm -r "$DESTi"
|
||||
# fi
|
||||
#
|
||||
# mpirun -np $use_cores Estia_baseline.out \
|
||||
# --dir="$DESTi" --ncount=$ncount --gravitation \
|
||||
# omegaa=$omega operationmode=0 theta_resolution=0.04 over_illumination=0.000 \
|
||||
# sample=$sample sample_length=$sample_length sample_height=$sample_height \
|
||||
# lambda_start=$lambda_start lambda_end=$lambda_end enable_gravity=1 enable_chopper=0 enable_polarizer=2 enable_analyzer=0
|
||||
# #
|
||||
# omega=7.0
|
||||
# DESTi=$DEST/pol1_10x10_70
|
||||
# if [ -e "$DESTi" ]; then
|
||||
# rm -r "$DESTi"
|
||||
# fi
|
||||
#
|
||||
# mpirun -np $use_cores Estia_baseline.out \
|
||||
# --dir="$DESTi" --ncount=$ncount --gravitation \
|
||||
# omegaa=$omega operationmode=0 theta_resolution=0.04 over_illumination=0.000 \
|
||||
# sample=$sample sample_length=$sample_length sample_height=$sample_height \
|
||||
# lambda_start=$lambda_start lambda_end=$lambda_end enable_gravity=1 enable_chopper=0 enable_polarizer=1 enable_analyzer=0
|
||||
#
|
||||
# DESTi=$DEST/pol2_10x10_70
|
||||
# if [ -e "$DESTi" ]; then
|
||||
# rm -r "$DESTi"
|
||||
# fi
|
||||
#
|
||||
# mpirun -np $use_cores Estia_baseline.out \
|
||||
# --dir="$DESTi" --ncount=$ncount --gravitation \
|
||||
# omegaa=$omega operationmode=0 theta_resolution=0.04 over_illumination=0.000 \
|
||||
# sample=$sample sample_length=$sample_length sample_height=$sample_height \
|
||||
# lambda_start=$lambda_start lambda_end=$lambda_end enable_gravity=1 enable_chopper=0 enable_polarizer=2 enable_analyzer=0
|
||||
#
|
||||
|
||||
# ncount=1e8
|
||||
omega=0.0
|
||||
# DESTi=$DEST/pol1_10x50_70
|
||||
# if [ -e "$DESTi" ]; then
|
||||
# rm -r "$DESTi"
|
||||
# fi
|
||||
#
|
||||
# mpirun -np $use_cores Estia_baseline.out \
|
||||
# --dir="$DESTi" --ncount=$ncount --gravitation \
|
||||
# omegaa=$omega operationmode=0 theta_resolution=0.04 over_illumination=0.0025 \
|
||||
# sample=$sample sample_length=$sample_length sample_height=$sample_height \
|
||||
# lambda_start=$lambda_start lambda_end=$lambda_end enable_gravity=1 enable_chopper=0 enable_polarizer=1 enable_analyzer=0
|
||||
|
||||
DESTi=$DEST/pol2_10x50_70
|
||||
if [ -e "$DESTi" ]; then
|
||||
rm -r "$DESTi"
|
||||
fi
|
||||
|
||||
mpirun -np $use_cores Estia_baseline.out \
|
||||
--dir="$DESTi" --ncount=$ncount --gravitation \
|
||||
omegaa=$omega operationmode=0 theta_resolution=0.04 over_illumination=0.0025 \
|
||||
sample=$sample sample_length=$sample_length sample_height=$sample_height \
|
||||
lambda_start=$lambda_start lambda_end=$lambda_end enable_gravity=1 enable_chopper=0 enable_polarizer=2 enable_analyzer=0
|
||||
#
|
||||
# ncount=5e9
|
||||
# sample_length=0.01
|
||||
# omega=1.0
|
||||
# sample_length=0.003
|
||||
# DESTi=$DEST/pol_ref_3x10_10
|
||||
# if [ -e "$DESTi" ]; then
|
||||
# rm -r "$DESTi"
|
||||
# fi
|
||||
#
|
||||
# mpirun -np $use_cores Estia_baseline.out \
|
||||
# --dir="$DESTi" --ncount=$ncount --gravitation \
|
||||
# omegaa=$omega operationmode=0 theta_resolution=0.04 over_illumination=0.000 \
|
||||
# sample=$sample sample_length=$sample_length sample_height=$sample_height \
|
||||
# lambda_start=$lambda_start lambda_end=$lambda_end enable_gravity=1 enable_chopper=0 enable_polarizer=0 enable_analyzer=0
|
||||
#
|
||||
# DESTi=$DEST/pol1_3x10_10
|
||||
# if [ -e "$DESTi" ]; then
|
||||
# rm -r "$DESTi"
|
||||
# fi
|
||||
#
|
||||
# mpirun -np $use_cores Estia_baseline.out \
|
||||
# --dir="$DESTi" --ncount=$ncount --gravitation \
|
||||
# omegaa=$omega operationmode=0 theta_resolution=0.04 over_illumination=0.000 \
|
||||
# sample=$sample sample_length=$sample_length sample_height=$sample_height \
|
||||
# lambda_start=$lambda_start lambda_end=$lambda_end enable_gravity=1 enable_chopper=0 enable_polarizer=1 enable_analyzer=0
|
||||
#
|
||||
# DESTi=$DEST/pol2_3x10_10
|
||||
# if [ -e "$DESTi" ]; then
|
||||
# rm -r "$DESTi"
|
||||
# fi
|
||||
#
|
||||
# mpirun -np $use_cores Estia_baseline.out \
|
||||
# --dir="$DESTi" --ncount=$ncount --gravitation \
|
||||
# omegaa=$omega operationmode=0 theta_resolution=0.04 over_illumination=0.000 \
|
||||
# sample=$sample sample_length=$sample_length sample_height=$sample_height \
|
||||
# lambda_start=$lambda_start lambda_end=$lambda_end enable_gravity=1 enable_chopper=0 enable_polarizer=2 enable_analyzer=0
|
||||
#
|
||||
#
|
||||
# sample_height=0.01
|
||||
# sample_length=0.01
|
||||
# DESTi=$DEST/ana1_10x10_10
|
||||
# if [ -e "$DESTi" ]; then
|
||||
# rm -r "$DESTi"
|
||||
# fi
|
||||
#
|
||||
# mpirun -np $use_cores Estia_baseline.out \
|
||||
# --dir="$DESTi" --ncount=$ncount --gravitation \
|
||||
# omegaa=$omega operationmode=0 theta_resolution=0.04 over_illumination=0.000 \
|
||||
# sample=$sample sample_length=$sample_length sample_height=$sample_height \
|
||||
# lambda_start=$lambda_start lambda_end=$lambda_end enable_gravity=1 enable_chopper=0 enable_polarizer=0 enable_analyzer=1
|
||||
|
||||
# sample_height=0.001
|
||||
# DESTi=$DEST/ana1_10x1_10
|
||||
# if [ -e "$DESTi" ]; then
|
||||
# rm -r "$DESTi"
|
||||
# fi
|
||||
#
|
||||
# mpirun -np $use_cores Estia_baseline_ana1.out \
|
||||
# --dir="$DESTi" --ncount=$ncount --gravitation \
|
||||
# omegaa=$omega operationmode=0 theta_resolution=0.04 over_illumination=0.000 \
|
||||
# sample=$sample sample_length=$sample_length sample_height=$sample_height \
|
||||
# lambda_start=$lambda_start lambda_end=$lambda_end enable_gravity=1 enable_chopper=0 enable_polarizer=0 enable_analyzer=1
|
||||
#
|
||||
# sample_height=0.01
|
||||
# DESTi=$DEST/ana2_10x10_10
|
||||
# if [ -e "$DESTi" ]; then
|
||||
# rm -r "$DESTi"
|
||||
# fi
|
||||
#
|
||||
# mpirun -np $use_cores Estia_baseline.out \
|
||||
# --dir="$DESTi" --ncount=$ncount --gravitation \
|
||||
# omegaa=$omega operationmode=0 theta_resolution=0.04 over_illumination=0.000 \
|
||||
# sample=$sample sample_length=$sample_length sample_height=$sample_height \
|
||||
# lambda_start=$lambda_start lambda_end=$lambda_end enable_gravity=1 enable_chopper=0 enable_polarizer=0 enable_analyzer=2
|
||||
|
||||
# sample_height=0.001
|
||||
# DESTi=$DEST/ana2_10x1_10
|
||||
# if [ -e "$DESTi" ]; then
|
||||
# rm -r "$DESTi"
|
||||
# fi
|
||||
#
|
||||
# mpirun -np $use_cores Estia_baseline_ana2.out \
|
||||
# --dir="$DESTi" --ncount=$ncount --gravitation \
|
||||
# omegaa=$omega operationmode=0 theta_resolution=0.04 over_illumination=0.000 \
|
||||
# sample=$sample sample_length=$sample_length sample_height=$sample_height \
|
||||
# lambda_start=$lambda_start lambda_end=$lambda_end enable_gravity=1 enable_chopper=0 enable_polarizer=0 enable_analyzer=2
|
||||
|
||||
|
||||
###################### Reference and Ni-layer measurement 1x1mm² sample ####################
|
||||
|
||||
|
||||
@@ -1,46 +0,0 @@
|
||||
#!/usr/bin/env python
|
||||
#-*- coding: utf8 -*-
|
||||
|
||||
import sys, os
|
||||
import numpy as np
|
||||
from subprocess import call
|
||||
|
||||
FOLDER='../results2/'
|
||||
PREFIX='selene_geo_'
|
||||
SEED=3798
|
||||
ITEMS=1000
|
||||
|
||||
CALL='mpirun -np 6 Selene_geometry.out --dir=%s --ncount=4e8 enable_gravity=0 sample_length=0.003 '
|
||||
CALL+='tx_1=%f tz_1=%f ry_1=%f rz_1=%f tx_2=%f tz_2=%f ry_2=%f rz_2=%f '
|
||||
|
||||
TX=[-0.001, 0.001]
|
||||
TZ=[-0.005, 0.005]
|
||||
RY=[-0.001, 0.001]
|
||||
RZ=[-2.5, 2.5]
|
||||
|
||||
|
||||
if __name__=='__main__':
|
||||
call('mcstas -t -o Selene_geometry.c Selene_geometry.instr'.split())
|
||||
call('mpicc -O2 -o Selene_geometry.out Selene_geometry.c -lm -DUSE_MPI'.split())
|
||||
|
||||
np.random.seed(SEED)
|
||||
fh=open(os.path.join(FOLDER, PREFIX+'sims.dat'), 'w')
|
||||
fh.write('# index tx_1 tz_1 ry_1 rz_1 tx_2 tz_2 ry_2 rz_2\n')
|
||||
fh.write('# seed = %i\n'%SEED)
|
||||
|
||||
for i in range(ITEMS):
|
||||
tx_1=np.random.random()*(TX[1]-TX[0])+TX[0]
|
||||
tx_2=np.random.random()*(TX[1]-TX[0])+TX[0]
|
||||
tz_1=np.random.random()*(TZ[1]-TZ[0])+TZ[0]
|
||||
tz_2=np.random.random()*(TZ[1]-TZ[0])+TZ[0]
|
||||
ry_1=np.random.random()*(RY[1]-RY[0])+RY[0]
|
||||
ry_2=np.random.random()*(RY[1]-RY[0])+RY[0]
|
||||
rz_1=np.random.random()*(RZ[1]-RZ[0])+RZ[0]
|
||||
rz_2=np.random.random()*(RZ[1]-RZ[0])+RZ[0]
|
||||
ln=' '.join(['%f'%val for val in [tx_1, tz_1, ry_1, rz_1, tx_2, tz_2, ry_2, rz_2]])
|
||||
fh.write(ln+'\n')
|
||||
print i, ':', ln
|
||||
call((CALL%(os.path.join(FOLDER, PREFIX+'%05i/'%i), tx_1, tz_1, ry_1, rz_1, tx_2, tz_2, ry_2, rz_2)).split())
|
||||
|
||||
fh.close()
|
||||
|
||||
+99
-103
@@ -1,121 +1,117 @@
|
||||
#!/bin/bash
|
||||
|
||||
DEST=../results
|
||||
ncount=1e9
|
||||
use_cores=6
|
||||
sample=4
|
||||
omega=0.8
|
||||
sample_length=0.005
|
||||
sample_height=0.01
|
||||
lambda_start=3.0
|
||||
lambda_end=32.0
|
||||
|
||||
###################### Brilliance Transfer 10x10mm² and 1x1mm² VS ####################
|
||||
bash compile_if_needed.sh
|
||||
|
||||
DESTi=$DEST/brilliance_nowindow_5x10
|
||||
if [ -e "$DESTi" ]; then
|
||||
rm -r "$DESTi"
|
||||
fi
|
||||
|
||||
mpirun -np $use_cores Estia_baseline.out \
|
||||
--dir="$DESTi" --format=NeXuS --ncount=$ncount --gravitation \
|
||||
omegaa=$omega operationmode=0 theta_resolution=0.04 over_illumination=0.000 \
|
||||
sample=$sample sample_length=$sample_length sample_height=$sample_height \
|
||||
enable_windows=0 \
|
||||
lambda_start=$lambda_start lambda_end=$lambda_end enable_gravity=1 enable_chopper=0
|
||||
|
||||
DESTi=$DEST/brilliance_5x10
|
||||
if [ -e "$DESTi" ]; then
|
||||
rm -r "$DESTi"
|
||||
fi
|
||||
|
||||
mpirun -np $use_cores Estia_baseline.out \
|
||||
--dir="$DESTi" --format=NeXuS --ncount=$ncount --gravitation \
|
||||
omegaa=$omega operationmode=0 theta_resolution=0.04 over_illumination=0.000 \
|
||||
sample=$sample sample_length=$sample_length sample_height=$sample_height \
|
||||
lambda_start=$lambda_start lambda_end=$lambda_end enable_gravity=1 enable_chopper=0
|
||||
|
||||
|
||||
ncount=1e10
|
||||
sample_length=0.001
|
||||
sample_height=0.001
|
||||
|
||||
DESTi=$DEST/brilliance_1x1
|
||||
if [ -e "$DESTi" ]; then
|
||||
rm -r "$DESTi"
|
||||
fi
|
||||
|
||||
mpirun -np $use_cores Estia_baseline.out \
|
||||
--dir="$DESTi" --format=NeXuS --ncount=$ncount --gravitation \
|
||||
omegaa=$omega operationmode=0 theta_resolution=0.04 over_illumination=0.000 \
|
||||
sample=$sample sample_length=$sample_length sample_height=$sample_height \
|
||||
lambda_start=$lambda_start lambda_end=$lambda_end enable_gravity=1 enable_chopper=0
|
||||
|
||||
|
||||
# ###################### Reference and Ni-layer measurement 10x10mm² sample ####################
|
||||
ncount=1e10
|
||||
sample_length=0.01
|
||||
ncount=4e9
|
||||
use_cores=${SLURM_NPROCS:-6}
|
||||
sample_length=0.05
|
||||
sample_height=0.01
|
||||
lambda_start=3.25
|
||||
lambda_end=12.75
|
||||
sample=1
|
||||
lambda_end=25.5
|
||||
|
||||
omega=1.0
|
||||
DESTi=$DEST/reference_10x10_10
|
||||
bash compile_if_needed.sh
|
||||
echo "Running with $use_cores threads"
|
||||
|
||||
# ###################### Reference and sample measurement pulse skipping ####################
|
||||
|
||||
#
|
||||
# Reference in pulse skipping mode
|
||||
omega=1.5
|
||||
DESTi=$DEST/mooc_reference_ps
|
||||
echo "Reference, pulse skipping"
|
||||
echo "Results saved to $DESTi"
|
||||
if [ -e "$DESTi" ]; then
|
||||
rm -r "$DESTi"
|
||||
fi
|
||||
|
||||
mpirun -np $use_cores Estia_baseline.out \
|
||||
--dir="$DESTi" --format=NeXuS --ncount=$ncount --gravitation \
|
||||
omegaa=$omega operationmode=0 theta_resolution=0.04 over_illumination=0.000 \
|
||||
sample=$sample sample_length=$sample_length sample_height=$sample_height \
|
||||
lambda_start=$lambda_start lambda_end=$lambda_end enable_gravity=1 enable_chopper=1
|
||||
|
||||
# Ni Sample
|
||||
|
||||
ncount=6e9
|
||||
sample=2
|
||||
omega=0.8
|
||||
DESTi=$DEST/nickle_10x10_08
|
||||
if [ -e "$DESTi" ]; then
|
||||
rm -r "$DESTi"
|
||||
fi
|
||||
--dir="$DESTi" --ncount=$ncount --gravitation --format=NeXus \
|
||||
omegaa=$omega operationmode=0 theta_resolution=0.04 over_illumination=0.0002 \
|
||||
sample=1 sample_length=$sample_length sample_height=$sample_height \
|
||||
lambda_start=$lambda_start lambda_end=$lambda_end enable_gravity=1 enable_chopper=3
|
||||
#
|
||||
# Sample models in pulse skipping mode
|
||||
for MODEL in 0 1 2 3 4 5
|
||||
do
|
||||
omega=1.5
|
||||
DESTi="$DEST/mooc_model_ps_$MODEL"
|
||||
echo "Model $MODEL, pulse skipping"
|
||||
echo "Results saved to $DESTi"
|
||||
if [ -e "$DESTi" ]; then
|
||||
rm -r "$DESTi"
|
||||
fi
|
||||
|
||||
mpirun -np $use_cores Estia_baseline.out \
|
||||
--dir="$DESTi" --format=NeXuS --ncount=$ncount --gravitation \
|
||||
omegaa=$omega operationmode=0 theta_resolution=0.04 over_illumination=0.0001 \
|
||||
sample=$sample sample_length=$sample_length sample_height=$sample_height \
|
||||
lambda_start=$lambda_start lambda_end=$lambda_end enable_gravity=1 enable_chopper=1
|
||||
mpirun -np $use_cores Estia_baseline.out \
|
||||
--dir="$DESTi" --ncount=$ncount --gravitation --format=NeXus \
|
||||
omegaa=$omega operationmode=0 theta_resolution=0.04 over_illumination=0.0002 \
|
||||
sample=2 sample_length=$sample_length sample_height=$sample_height \
|
||||
lambda_start=$lambda_start lambda_end=$lambda_end enable_gravity=1 enable_chopper=3 \
|
||||
sample_file="alessandra_model_2_nores_00$MODEL.dat"
|
||||
|
||||
ncount=2e9
|
||||
omega=3.0
|
||||
DESTi=$DEST/nickle_10x10_30
|
||||
if [ -e "$DESTi" ]; then
|
||||
rm -r "$DESTi"
|
||||
fi
|
||||
done
|
||||
|
||||
mpirun -np $use_cores Estia_baseline.out \
|
||||
--dir="$DESTi" --format=NeXuS --ncount=$ncount --gravitation \
|
||||
omegaa=$omega operationmode=0 theta_resolution=0.04 over_illumination=0.0001 \
|
||||
sample=$sample sample_length=$sample_length sample_height=$sample_height \
|
||||
lambda_start=$lambda_start lambda_end=$lambda_end enable_gravity=1 enable_chopper=1
|
||||
|
||||
|
||||
ncount=1e9
|
||||
omega=8.0
|
||||
DESTi=$DEST/nickle_10x10_80
|
||||
if [ -e "$DESTi" ]; then
|
||||
rm -r "$DESTi"
|
||||
fi
|
||||
#
|
||||
# Sample models in pulse skipping mode, larger angle
|
||||
for MODEL in 0 1 2 3 4 5
|
||||
do
|
||||
omega=4.0
|
||||
DESTi="$DEST/mooc_model_ps2_$MODEL"
|
||||
echo "Model $MODEL, pulse skipping"
|
||||
echo "Results saved to $DESTi"
|
||||
if [ -e "$DESTi" ]; then
|
||||
rm -r "$DESTi"
|
||||
fi
|
||||
|
||||
mpirun -np $use_cores Estia_baseline.out \
|
||||
--dir="$DESTi" --format=NeXuS --ncount=$ncount --gravitation \
|
||||
omegaa=$omega operationmode=0 theta_resolution=0.04 over_illumination=0.0001 \
|
||||
sample=$sample sample_length=$sample_length sample_height=$sample_height \
|
||||
lambda_start=$lambda_start lambda_end=$lambda_end enable_gravity=1 enable_chopper=1
|
||||
mpirun -np $use_cores Estia_baseline.out \
|
||||
--dir="$DESTi" --ncount=$ncount --gravitation --format=NeXus \
|
||||
omegaa=$omega operationmode=0 theta_resolution=0.04 over_illumination=0.0002 \
|
||||
sample=2 sample_length=$sample_length sample_height=$sample_height \
|
||||
lambda_start=$lambda_start lambda_end=$lambda_end enable_gravity=1 enable_chopper=3 \
|
||||
sample_file="alessandra_model_2_nores_00$MODEL.dat"
|
||||
|
||||
# ###################### Reference and Ni-layer measurement 1x1mm² sample ####################
|
||||
done
|
||||
|
||||
# ###################### Reference and samples in conventional mode ####################
|
||||
#
|
||||
#
|
||||
#
|
||||
# Reference in conventional mode
|
||||
ncount=4e9
|
||||
lambda_end=13.5
|
||||
theta_resolution=0.1
|
||||
|
||||
omega=1.5
|
||||
DESTi=$DEST/mooc_reference_tof
|
||||
echo "Reference, omega=$omega, Delta omega=$theta_resolution"
|
||||
echo "Results saved to $DESTi"
|
||||
if [ -e "$DESTi" ]; then
|
||||
rm -r "$DESTi"
|
||||
fi
|
||||
|
||||
mpirun -np $use_cores Estia_baseline.out \
|
||||
--dir="$DESTi" --ncount=$ncount --gravitation --format=NeXus \
|
||||
omegaa=$omega operationmode=1 theta_resolution=$theta_resolution over_illumination=0.0002 \
|
||||
sample=1 sample_length=$sample_length sample_height=$sample_height \
|
||||
lambda_start=$lambda_start lambda_end=$lambda_end enable_gravity=1 enable_chopper=1
|
||||
#
|
||||
# Sample models in pulse skipping mode
|
||||
for MODEL in 0 1 2 3 4 5
|
||||
do
|
||||
for omega in 0.3 0.75 1.875 4.6875 11.71875
|
||||
do
|
||||
ncount=$(bc <<< "5000000000/$omega/$omega")
|
||||
theta_resolution=$(bc <<< "scale=10;0.05*$omega")
|
||||
DESTi="$DEST/mooc_model_tof_$MODEL-$omega"
|
||||
echo "Model $MODEL, omega=$omega, Delta omega=$theta_resolution, n=$ncount"
|
||||
echo "Results saved to $DESTi"
|
||||
if [ -e "$DESTi" ]; then
|
||||
rm -r "$DESTi"
|
||||
fi
|
||||
|
||||
mpirun -np $use_cores Estia_baseline.out \
|
||||
--dir="$DESTi" --ncount=$ncount --gravitation --format=NeXus \
|
||||
omegaa=$omega operationmode=1 theta_resolution=$theta_resolution over_illumination=0.0002 \
|
||||
sample=2 sample_length=$sample_length sample_height=$sample_height \
|
||||
lambda_start=$lambda_start lambda_end=$lambda_end enable_gravity=1 enable_chopper=1 \
|
||||
sample_file="alessandra_model_2_nores_00$MODEL.dat"
|
||||
done
|
||||
done
|
||||
|
||||
Executable
+23
@@ -0,0 +1,23 @@
|
||||
#!/bin/tcsh
|
||||
#SBATCH -J mooc_McEstia
|
||||
#SBATCH -N 2
|
||||
#SBATCH --ntasks-per-node=24
|
||||
#SBATCH --time=1-00:00:00
|
||||
#SBATCH --mail-type=fail
|
||||
#SBATCH --mail-user=artur.glavic@psi.ch
|
||||
|
||||
#SBATCH -o stdout.log
|
||||
#SBATCH -e stderr.log
|
||||
|
||||
#SBATCH --partition=ll_long
|
||||
|
||||
echo "Starting at `date`"
|
||||
echo "Running on hosts: $SLURM_NODELIST"
|
||||
echo "Running on $SLURM_NNODES nodes."
|
||||
echo "Running on $SLURM_NPROCS processors."
|
||||
echo "Current working directory is `pwd`"
|
||||
|
||||
|
||||
module load mcstas
|
||||
|
||||
bash run_simu.sh
|
||||
@@ -1,86 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
DEST=../results
|
||||
use_cores=6
|
||||
|
||||
###################### Compile model if necessary ####################
|
||||
bash compile_if_neede.sh
|
||||
|
||||
######## Reference and Ni-layer conventional measurement 10x10mm² sample #############
|
||||
ncount=1e10
|
||||
sample_length=0.01
|
||||
sample_height=0.01
|
||||
lambda_start=3.25
|
||||
lambda_min=3.75
|
||||
lambda_end=12.75
|
||||
sample=1
|
||||
|
||||
omega=1.0
|
||||
DESTi=$DEST/tof_reference_10x10_10
|
||||
if [ -e "$DESTi" ]; then
|
||||
rm -r "$DESTi"
|
||||
fi
|
||||
|
||||
mpirun -np $use_cores Estia_baseline.out \
|
||||
--dir="$DESTi" --format=NeXuS --ncount=$ncount --gravitation \
|
||||
omegaa=$omega operationmode=1 theta_resolution=0.01 over_illumination=0.0001 \
|
||||
sample=$sample sample_length=$sample_length sample_height=$sample_height \
|
||||
lambda_start=$lambda_start lambda_min=$lambda_min lambda_end=$lambda_end enable_gravity=1 enable_chopper=1
|
||||
|
||||
# Ni Sample
|
||||
ncount=2e10
|
||||
sample=2
|
||||
omega=0.5
|
||||
DESTi=$DEST/tof_nickle_10x10_05
|
||||
if [ -e "$DESTi" ]; then
|
||||
rm -r "$DESTi"
|
||||
fi
|
||||
|
||||
mpirun -np $use_cores Estia_baseline.out \
|
||||
--dir="$DESTi" --format=NeXuS --ncount=$ncount --gravitation \
|
||||
omegaa=$omega operationmode=1 theta_resolution=0.03 over_illumination=0.0001 \
|
||||
sample=$sample sample_length=$sample_length sample_height=$sample_height \
|
||||
lambda_start=$lambda_start lambda_min=$lambda_min lambda_end=$lambda_end enable_gravity=1 enable_chopper=1
|
||||
|
||||
ncount=1e10
|
||||
omega=1.2
|
||||
DESTi=$DEST/tof_nickle_10x10_12
|
||||
if [ -e "$DESTi" ]; then
|
||||
rm -r "$DESTi"
|
||||
fi
|
||||
|
||||
mpirun -np $use_cores Estia_baseline.out \
|
||||
--dir="$DESTi" --format=NeXuS --ncount=$ncount --gravitation \
|
||||
omegaa=$omega operationmode=1 theta_resolution=0.03 over_illumination=0.0001 \
|
||||
sample=$sample sample_length=$sample_length sample_height=$sample_height \
|
||||
lambda_start=$lambda_start lambda_min=$lambda_min lambda_end=$lambda_end enable_gravity=1 enable_chopper=1
|
||||
|
||||
ncount=5e9
|
||||
omega=3.0
|
||||
DESTi=$DEST/tof_nickle_10x10_30
|
||||
if [ -e "$DESTi" ]; then
|
||||
rm -r "$DESTi"
|
||||
fi
|
||||
|
||||
mpirun -np $use_cores Estia_baseline.out \
|
||||
--dir="$DESTi" --format=NeXuS --ncount=$ncount --gravitation \
|
||||
omegaa=$omega operationmode=1 theta_resolution=0.03 over_illumination=0.0001 \
|
||||
sample=$sample sample_length=$sample_length sample_height=$sample_height \
|
||||
lambda_start=$lambda_start lambda_min=$lambda_min lambda_end=$lambda_end enable_gravity=1 enable_chopper=1
|
||||
|
||||
ncount=2e9
|
||||
omega=7.5
|
||||
DESTi=$DEST/tof_nickle_10x10_75
|
||||
if [ -e "$DESTi" ]; then
|
||||
rm -r "$DESTi"
|
||||
fi
|
||||
|
||||
mpirun -np $use_cores Estia_baseline.out \
|
||||
--dir="$DESTi" --format=NeXuS --ncount=$ncount --gravitation \
|
||||
omegaa=$omega operationmode=1 theta_resolution=0.03 over_illumination=0.0001 \
|
||||
sample=$sample sample_length=$sample_length sample_height=$sample_height \
|
||||
lambda_start=$lambda_start lambda_min=$lambda_min lambda_end=$lambda_end enable_gravity=1 enable_chopper=1
|
||||
|
||||
###################### Reference and Ni-layer measurement 1x1mm² sample ####################
|
||||
|
||||
|
||||
@@ -1,46 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
DEST=../results
|
||||
ncount=1e9
|
||||
use_cores=6
|
||||
sample=4
|
||||
omega=0.8
|
||||
sample_length=0.01
|
||||
sample_height=0.01
|
||||
lambda_start=3.0
|
||||
lambda_end=32.0
|
||||
|
||||
bash compile_if_neede.sh
|
||||
|
||||
|
||||
################# Reference and Ni-layer measurement 2 pulse skipping ####################
|
||||
ncount=4e9
|
||||
sample_length=0.01
|
||||
sample_height=0.01
|
||||
lambda_start=3.9
|
||||
lambda_end=24.0
|
||||
sample=1
|
||||
omega=2.0
|
||||
|
||||
DESTi=$DEST/single_skip_reference
|
||||
if [ -e "$DESTi" ]; then
|
||||
rm -r "$DESTi"
|
||||
fi
|
||||
|
||||
mpirun -np $use_cores Estia_baseline.out \
|
||||
--dir="$DESTi" --format=NeXuS --ncount=$ncount --gravitation \
|
||||
omegaa=$omega operationmode=0 theta_resolution=0.04 over_illumination=0.0002 \
|
||||
sample=$sample sample_length=$sample_length sample_height=$sample_height \
|
||||
lambda_start=$lambda_start lambda_end=$lambda_end enable_gravity=1 enable_chopper=3
|
||||
|
||||
sample=2
|
||||
DESTi=$DEST/single_skip_nickle
|
||||
if [ -e "$DESTi" ]; then
|
||||
rm -r "$DESTi"
|
||||
fi
|
||||
|
||||
mpirun -np $use_cores Estia_baseline.out \
|
||||
--dir="$DESTi" --format=NeXuS --ncount=$ncount --gravitation \
|
||||
omegaa=$omega operationmode=0 theta_resolution=0.04 over_illumination=0.0002 \
|
||||
sample=$sample sample_length=$sample_length sample_height=$sample_height \
|
||||
lambda_start=$lambda_start lambda_end=$lambda_end enable_gravity=1 enable_chopper=3
|
||||
@@ -1,119 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
DEST=../results
|
||||
ncount=1e9
|
||||
use_cores=6
|
||||
sample=1
|
||||
omega=15.0
|
||||
sample_length=0.02
|
||||
sample_height=0.01
|
||||
|
||||
lambda_start=3.5
|
||||
lambda_min=5.0
|
||||
lambda_end=15.5
|
||||
frame_usage=0.92
|
||||
|
||||
###################### Brilliance Transfer 10x10mm² and 1x1mm² VS ####################
|
||||
bash compile_if_neede.sh
|
||||
|
||||
###################### Reference and Ni-layer measurement 10x10mm² sample ####################
|
||||
|
||||
frame_usage=0.92
|
||||
DESTi=$DEST/chopper_f1_092
|
||||
if [ -e "$DESTi" ]; then
|
||||
rm -r "$DESTi"
|
||||
fi
|
||||
|
||||
mpirun -np $use_cores Estia_baseline.out \
|
||||
--dir="$DESTi" --format=NeXuS --ncount=$ncount \
|
||||
omegaa=$omega operationmode=0 theta_resolution=0.04 over_illumination=0.0001 \
|
||||
sample=$sample sample_length=$sample_length sample_height=$sample_height \
|
||||
lambda_start=$lambda_start lambda_end=$lambda_end enable_gravity=0 enable_chopper=1 \
|
||||
frame_usage=$frame_usage lambda_min=$lambda_min
|
||||
|
||||
frame_usage=0.94
|
||||
DESTi=$DEST/chopper_f1_094
|
||||
if [ -e "$DESTi" ]; then
|
||||
rm -r "$DESTi"
|
||||
fi
|
||||
|
||||
mpirun -np $use_cores Estia_baseline.out \
|
||||
--dir="$DESTi" --format=NeXuS --ncount=$ncount \
|
||||
omegaa=$omega operationmode=0 theta_resolution=0.04 over_illumination=0.0001 \
|
||||
sample=$sample sample_length=$sample_length sample_height=$sample_height \
|
||||
lambda_start=$lambda_start lambda_end=$lambda_end enable_gravity=0 enable_chopper=1 \
|
||||
frame_usage=$frame_usage lambda_min=$lambda_min
|
||||
|
||||
frame_usage=0.96
|
||||
DESTi=$DEST/chopper_f1_096
|
||||
if [ -e "$DESTi" ]; then
|
||||
rm -r "$DESTi"
|
||||
fi
|
||||
|
||||
mpirun -np $use_cores Estia_baseline.out \
|
||||
--dir="$DESTi" --format=NeXuS --ncount=$ncount \
|
||||
omegaa=$omega operationmode=0 theta_resolution=0.04 over_illumination=0.0001 \
|
||||
sample=$sample sample_length=$sample_length sample_height=$sample_height \
|
||||
lambda_start=$lambda_start lambda_end=$lambda_end enable_gravity=0 enable_chopper=1 \
|
||||
frame_usage=$frame_usage lambda_min=$lambda_min
|
||||
|
||||
frame_usage=0.974
|
||||
DESTi=$DEST/chopper_f1_097s
|
||||
if [ -e "$DESTi" ]; then
|
||||
rm -r "$DESTi"
|
||||
fi
|
||||
|
||||
mpirun -np $use_cores Estia_baseline.out \
|
||||
--dir="$DESTi" --format=NeXuS --ncount=$ncount \
|
||||
omegaa=$omega operationmode=0 theta_resolution=0.04 over_illumination=0.0001 \
|
||||
sample=$sample sample_length=$sample_length sample_height=$sample_height \
|
||||
lambda_start=$lambda_start lambda_end=$lambda_end enable_gravity=0 enable_chopper=1 \
|
||||
frame_usage=$frame_usage lambda_min=$lambda_min
|
||||
|
||||
frame_usage=0.98
|
||||
DESTi=$DEST/chopper_f1_098
|
||||
if [ -e "$DESTi" ]; then
|
||||
rm -r "$DESTi"
|
||||
fi
|
||||
|
||||
mpirun -np $use_cores Estia_baseline.out \
|
||||
--dir="$DESTi" --format=NeXuS --ncount=$ncount \
|
||||
omegaa=$omega operationmode=0 theta_resolution=0.04 over_illumination=0.0001 \
|
||||
sample=$sample sample_length=$sample_length sample_height=$sample_height \
|
||||
lambda_start=$lambda_start lambda_end=$lambda_end enable_gravity=0 enable_chopper=1 \
|
||||
frame_usage=$frame_usage lambda_min=$lambda_min
|
||||
|
||||
frame_usage=0.99
|
||||
DESTi=$DEST/chopper_f1_099
|
||||
if [ -e "$DESTi" ]; then
|
||||
rm -r "$DESTi"
|
||||
fi
|
||||
|
||||
mpirun -np $use_cores Estia_baseline.out \
|
||||
--dir="$DESTi" --format=NeXuS --ncount=$ncount \
|
||||
omegaa=$omega operationmode=0 theta_resolution=0.04 over_illumination=0.0001 \
|
||||
sample=$sample sample_length=$sample_length sample_height=$sample_height \
|
||||
lambda_start=$lambda_start lambda_end=$lambda_end enable_gravity=0 enable_chopper=1 \
|
||||
frame_usage=$frame_usage lambda_min=$lambda_min
|
||||
|
||||
|
||||
frame_usage=0.98
|
||||
lambda_start=2.75
|
||||
lambda_min=3.75
|
||||
lambda_end=12.75
|
||||
DESTi=$DEST/chopper_f1_375A
|
||||
if [ -e "$DESTi" ]; then
|
||||
rm -r "$DESTi"
|
||||
fi
|
||||
|
||||
mpirun -np $use_cores Estia_baseline.out \
|
||||
--dir="$DESTi" --format=NeXuS --ncount=$ncount \
|
||||
omegaa=$omega operationmode=0 theta_resolution=0.04 over_illumination=0.0001 \
|
||||
sample=$sample sample_length=$sample_length sample_height=$sample_height \
|
||||
lambda_start=$lambda_start lambda_end=$lambda_end enable_gravity=0 enable_chopper=1 \
|
||||
frame_usage=$frame_usage lambda_min=$lambda_min
|
||||
|
||||
|
||||
###################### Reference and Ni-layer measurement 1x1mm² sample ####################
|
||||
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
DEST=../results
|
||||
ncount=1e8
|
||||
use_cores=6
|
||||
sample=1
|
||||
omega=0.8
|
||||
sample_length=0.01
|
||||
sample_height=0.015
|
||||
|
||||
if [ Estia_vs.instr -nt Estia_vs.out ]; then
|
||||
rm Estia_vs.c Estia_vs.out
|
||||
mcstas -t -o Estia_vs.c Estia_vs.instr
|
||||
mpicc -O3 -o Estia_vs.out Estia_vs.c -lm -DUSE_MPI -DUSE_NEXUS -lNeXus
|
||||
fi
|
||||
|
||||
|
||||
omega=2.0
|
||||
DESTi=$DEST/vs_data
|
||||
if [ -e "$DESTi" ]; then
|
||||
rm -r "$DESTi"
|
||||
fi
|
||||
|
||||
mpirun -np $use_cores Estia_vs.out \
|
||||
--dir="$DESTi" --format=NeXuS --ncount=$ncount --gravitation \
|
||||
omegaa=$omega operationmode=0 theta_resolution=0.04 over_illumination=0.0025 \
|
||||
sample=$sample sample_length=$sample_length sample_height=$sample_height \
|
||||
enable_gravity=1 enable_chopper=0 source_power=5
|
||||
|
||||
###################### Reference and Ni-layer measurement 1x1mm² sample ####################
|
||||
|
||||
|
||||
Reference in New Issue
Block a user