Difference between revisions of "Yanera"
KevinYager (talk | contribs) (→Example) |
KevinYager (talk | contribs) (→Example Input File) |
||
| (One intermediate revision by the same user not shown) | |||
| Line 1: | Line 1: | ||
| − | ==Example== | + | * '''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]]. |
| + | ** [http://www.physics.brocku.ca/~tharroun/yanera/index.html Official site.] | ||
| + | |||
| + | ==Example Input File (2007 format)== | ||
<source lang="xml"> | <source lang="xml"> | ||
<?xml version="1.0"?> | <?xml version="1.0"?> | ||
| Line 44: | 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 14: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)
<?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)
<?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>