Difference between revisions of "Yanera"
KevinYager (talk | contribs) |
KevinYager (talk | contribs) (→Example Input File) |
||
Line 2: | Line 2: | ||
** [http://www.physics.brocku.ca/~tharroun/yanera/index.html Official site.] | ** [http://www.physics.brocku.ca/~tharroun/yanera/index.html Official site.] | ||
− | ==Example Input File== | + | ==Example Input File (2007 format)== |
<source lang="xml"> | <source lang="xml"> | ||
<?xml version="1.0"?> | <?xml version="1.0"?> | ||
Line 47: | Line 47: | ||
</model> | </model> | ||
</parratt> | </parratt> | ||
+ | |||
+ | </source> | ||
+ | |||
+ | ==Example Input File (2008 format)== | ||
+ | <source lang="xml"> | ||
+ | <?xml version="1.0" encoding="ISO-8859-1"?> | ||
+ | <!DOCTYPE yanera SYSTEM "yanera.dtd"> | ||
+ | <yanera> | ||
+ | <!-- ====================================================================== --> | ||
+ | <miscellaneous_section> | ||
+ | <write_results>YES</write_results> | ||
+ | <write_profile>YES</write_profile> | ||
+ | <write_reflectivity>YES</write_reflectivity> | ||
+ | <write_slabs>YES</write_slabs> | ||
+ | <q_min>0.0006</q_min> | ||
+ | <q_max>0.21</q_max> | ||
+ | <q_num>2001</q_num> | ||
+ | <z_num>201</z_num> | ||
+ | <quadrature_error>0.0005</quadrature_error> | ||
+ | <quadrature_thik>5.0</quadrature_thik> | ||
+ | <fit_do>NO</fit_do> | ||
+ | <fit_weighting>WEIGHT_NONE</fit_weighting> | ||
+ | <fit_iterations>500</fit_iterations> | ||
+ | <fit_write_iterations>5</fit_write_iterations> | ||
+ | </miscellaneous_section> | ||
+ | <!-- ====================================================================== --> | ||
+ | <data_section> | ||
+ | <!-- ===== --> | ||
+ | <data data_id="data0"> | ||
+ | <file_name>data0_l</file_name> | ||
+ | <resolution> | ||
+ | <type>RESOLUTION_NONE</type> | ||
+ | <value/> | ||
+ | <file_name/> | ||
+ | </resolution> | ||
+ | </data> | ||
+ | <!-- ===== --> | ||
+ | <data data_id="data1"> | ||
+ | <file_name>data1_l</file_name> | ||
+ | <resolution> | ||
+ | <type>RESOLUTION_NONE</type> | ||
+ | <value/> | ||
+ | <file_name/> | ||
+ | </resolution> | ||
+ | </data> | ||
+ | <!-- ===== --> | ||
+ | <data data_id="data2"> | ||
+ | <file_name>data2_l</file_name> | ||
+ | <resolution> | ||
+ | <type>RESOLUTION_NONE</type> | ||
+ | <value/> | ||
+ | <file_name/> | ||
+ | </resolution> | ||
+ | </data> | ||
+ | <!-- ===== --> | ||
+ | </data_section> | ||
+ | <!-- ====================================================================== --> | ||
+ | <model_section> | ||
+ | <!-- ===== --> | ||
+ | <model_type>MODEL_LAYER</model_type> | ||
+ | <!-- ===== --> | ||
+ | <model data_idref="data0"> | ||
+ | <name>Silicon in air</name> | ||
+ | <polarized>POLARIZED_UNPOLARIZED</polarized> | ||
+ | <bulk> | ||
+ | <name>ambient</name> | ||
+ | <rsld fix="YES">0</rsld> | ||
+ | </bulk> | ||
+ | <layer> | ||
+ | <name>PS</name> | ||
+ | <thik fix="YES">1000<max>2000</max></thik> | ||
+ | <sigz fix="YES">40</sigz> | ||
+ | <rsld fix="NO">9.0</rsld> | ||
+ | <rmag fix="NO">0.0<min>0.0</min></rmag> | ||
+ | </layer> | ||
+ | <substrate> | ||
+ | <name>glass</name> | ||
+ | <sigz fix="YES">2</sigz> | ||
+ | <rsld fix="YES">22.58</rsld> | ||
+ | </substrate> | ||
+ | <background fix="YES">0</background> | ||
+ | </model> | ||
+ | <!-- ===== --> | ||
+ | <model data_idref="data1"> | ||
+ | <polarized>POLARIZED_UP</polarized> | ||
+ | </model> | ||
+ | <!-- ===== --> | ||
+ | <model data_idref="data2"> | ||
+ | <polarized>POLARIZED_DOWN</polarized> | ||
+ | </model> | ||
+ | <!-- ===== --> | ||
+ | </model_section> | ||
+ | <!-- ====================================================================== --> | ||
+ | </yanera> | ||
</source> | </source> |
Latest revision as of 15:54, 11 March 2017
- Yanera ("Yet Another NEutron Reflectivity Analyzer") is a software package for calculating reflectivity curves. It provides an open-source C++ implementation of the Parratt formalism. Written by Thad Harroun (Brock University), with minor contributions from Kevin Yager.
Example Input File (2007 format)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | <? xml version = "1.0" ?> <!DOCTYPE parratt SYSTEM "parratt.dtd"> < parratt type = "parratt" do_fit = "no" > < output > < reflectivity >reflectivity.txt</ reflectivity > < profile >profile.txt</ profile > < q_min > 0.000</ q_min > < q_max > 0.160</ q_max > < num_q >300</ num_q > < num_z >200</ num_z > </ output > < model > < bulk > < name >ambient</ name > < thik fix = "1" >n/a</ thik > < sigz fix = "1" >n/a</ sigz > < rsld fix = "1" > 0.000</ rsld > </ bulk > < layer > < name >PS</ name > < thik fix = "1" >1000.000</ thik > < sigz fix = "1" >40.0</ sigz > < rsld fix = "1" > 9.13</ rsld > </ layer > < layer > < name >Ge</ name > < thik fix = "1" >19.700</ thik > < sigz fix = "1" > 5.000</ sigz > < rsld fix = "1" > 22.58</ rsld > < isld fix = "1" > 0.000</ isld > </ layer > < substrate > < name >glass</ name > < thik fix = "1" >n/a</ thik > < sigz fix = "1" > 1.700</ sigz > < rsld fix = "1" > 22.58</ rsld > < isld fix = "1" > 0.000</ isld > </ substrate > < coverg fix = "1" > 1.000</ coverg > < backgd fix = "1" > 0.000</ backgd > < resoln type = "dq/q" > 0.040</ resoln > </ model > </ parratt > |
Example Input File (2008 format)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | <? xml version = "1.0" encoding = "ISO-8859-1" ?> <!DOCTYPE yanera SYSTEM "yanera.dtd"> < yanera > <!-- ====================================================================== --> < miscellaneous_section > < write_results >YES</ write_results > < write_profile >YES</ write_profile > < write_reflectivity >YES</ write_reflectivity > < write_slabs >YES</ write_slabs > < q_min >0.0006</ q_min > < q_max >0.21</ q_max > < q_num >2001</ q_num > < z_num >201</ z_num > < quadrature_error >0.0005</ quadrature_error > < quadrature_thik >5.0</ quadrature_thik > < fit_do >NO</ fit_do > < fit_weighting >WEIGHT_NONE</ fit_weighting > < fit_iterations >500</ fit_iterations > < fit_write_iterations >5</ fit_write_iterations > </ miscellaneous_section > <!-- ====================================================================== --> < data_section > <!-- ===== --> < data data_id = "data0" > < file_name >data0_l</ file_name > < resolution > < type >RESOLUTION_NONE</ type > < value /> < file_name /> </ resolution > </ data > <!-- ===== --> < data data_id = "data1" > < file_name >data1_l</ file_name > < resolution > < type >RESOLUTION_NONE</ type > < value /> < file_name /> </ resolution > </ data > <!-- ===== --> < data data_id = "data2" > < file_name >data2_l</ file_name > < resolution > < type >RESOLUTION_NONE</ type > < value /> < file_name /> </ resolution > </ data > <!-- ===== --> </ data_section > <!-- ====================================================================== --> < model_section > <!-- ===== --> < model_type >MODEL_LAYER</ model_type > <!-- ===== --> < model data_idref = "data0" > < name >Silicon in air</ name > < polarized >POLARIZED_UNPOLARIZED</ polarized > < bulk > < name >ambient</ name > < rsld fix = "YES" >0</ rsld > </ bulk > < layer > < name >PS</ name > < thik fix = "YES" >1000< max >2000</ max ></ thik > < sigz fix = "YES" >40</ sigz > < rsld fix = "NO" >9.0</ rsld > < rmag fix = "NO" >0.0< min >0.0</ min ></ rmag > </ layer > < substrate > < name >glass</ name > < sigz fix = "YES" >2</ sigz > < rsld fix = "YES" >22.58</ rsld > </ substrate > < background fix = "YES" >0</ background > </ model > <!-- ===== --> < model data_idref = "data1" > < polarized >POLARIZED_UP</ polarized > </ model > <!-- ===== --> < model data_idref = "data2" > < polarized >POLARIZED_DOWN</ polarized > </ model > <!-- ===== --> </ model_section > <!-- ====================================================================== --> </ yanera > |