33
Proposed changes to the XSAMS Schema (Molecules) MarieLise Dubernet (LPMAA) Theresa Lue>inger (Vienna) Nikolai Piskunov (UU) Thomas Marquart (UU) ChrisFan Endres (Köln) ChrisFan Hill (UCL) Asif Akram (UCAM) IAEA XSAMS MeeFng, Gaithersburg, 35 October 2011 Misha Doronin (LPMAA) Ljerka Nenadovic (LPMAA) Guy Rixon (UCAM) Tanya Ryabchikova (INASAN) Ken Smith (QUB)

Proposed(changes(to(the( XSAMS(Schema(Molecules)( fileProposed(changes(to(the(XSAMS(Schema(Molecules)(Marie9Lise(Dubernet((LPMAA)(Theresa Lue>inger((Vienna)(Nikolai(Piskunov(UU) Thomas(Marquart(UU)

  • Upload
    ngothu

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

Proposed  changes  to  the  XSAMS  Schema  (Molecules)  

Marie-­‐Lise  Dubernet  (LPMAA)  Theresa  Lue>inger  (Vienna)  

Nikolai  Piskunov  (UU)  Thomas  Marquart  (UU)  ChrisFan  Endres  (Köln)  ChrisFan  Hill  (UCL)  Asif  Akram  (UCAM)  

IAEA  XSAMS  MeeFng,  Gaithersburg,  3-­‐5  October  2011  

 Misha  Doronin  (LPMAA)  Ljerka  Nenadovic  (LPMAA)  

Guy  Rixon  (UCAM)  Tanya  Ryabchikova  (INASAN)  

Ken  Smith  (QUB)  

Where  to  find  the  Schema  

•  “vamdc-­‐working”  branch  of  Sourceforge  repository:  h`p://xsams.svn.sourceforge.net/viewvc/xsams/branches/vamdc-­‐working/  

 •  Developers’  Forum  (requires  registraFon  with  Yuri  ([email protected]):  h`ps://sourceforge.net/projects/xsams/forums/forum/1307107/  

 

Summary  of  changes  1.  Basic  types  

a.   The  XSAMS  namespace  b.   <States> à  <Species> c.   DataType;  vectors,  matrices  and  data  series  d.   Sources  

2.   Molecular  States:  case-­‐by-­‐case  descrip?on  3.   Environments  4.   Spectral  line  broadening  5.   Absorp?on  cross  sec?ons  6.  ParFFon  funcFons  7.   Species  iden?fica?on  and  Molecular  Structure  8.   Molecular  states  (“case-­‐by-­‐case”)  and  basis  set  expansions  9.  Normal  mode  and  related  data  for  e.g.  PAHs  

XSAMS  Namespace  

•  h`p://xsams.svn.sourceforge.net/viewvc/xsams/branches/vamdc-­‐working/    

•  Perhaps  the  official  XSAMS  Schema  should  have  one?  e.g.        h`p://www-­‐amdis.iaea.org/xml/  

•  Requires  minor  changes  to  the  way  a`ributes  are  declared  in  the  Schema  document.  

<States>  à  <Species>  Species

Atoms +Atom ChemicalElement Isotope IsotopeParameters +Ion IonCharge +AtomicState ... Molecules +Molecule MolecularChemicalSpecies OrdinaryStructuralFormula ... +MolecularState Solids +Solid Particles +Particle

Sources  •  Currently  on  PrimaryType  by  a`ribute  –  e.g.    

 <StateEnergy sourceRef=“B1”> <Value>xxx</Value> <Accuracy>yyy</Accuracy> </StateEnergy>

•  Proposed  as  an  element  within  PrimaryType  –  e.g.     <StateEnergy> <SourceRef>B1</SourceRef> <SourceRef>B2</SourceRef>

<Value>xxx</Value> <Accuracy>yyy</Accuracy> </StateEnergy>

 

DataType  –  the  Problem  

•  A  lot  of  data  given  as  DataType  is  actually  a  parameter  to  some  funcFon  –  e.g.  Pressure  broadened  HWHM:  

 γair(p,  T)  =  γairref  (p/pref).(Tref/T)n_air  

parameters  

arguments  

DataType  –  the  SoluFon(?)  •  Extend  DataType  to  allow  it  to  list  funcFon  parameters:  e.g.  D  =  F(x,  y;  a,  b,  c)  =  ax2  +  bxy  +  cy2    

<D> <FitParameters functionRef=”Ffunc”> <FitArgument units=”…”> <Name>x</Name> <LowerLimit units=”…”>…</LowerLimit> <UpperLimit units=”…”>…</UpperLimit> </FitArgument> <FitArgument units=”…”> <Name>y</Name> <LowerLimit units=”…”>…</LowerLimit> <UpperLimit units=”…”>…</UpperLimit> </FitArgument> <FitParameter name=”a”> <SourceRef>…</SourceRef> <Value units=”…”>…</Value> <Accuracy>…</Accuracy> </FitParameter>

<FitParameter name=”b”> <SourceRef>…</SourceRef> <Value units=”…”>…</Value> <Accuracy>…</Accuracy> </FitParameter> <FitParameter name=”c”> <SourceRef>…</SourceRef> <Value units=”…”>…</Value> <Accuracy>…</Accuracy> </FitParameter> </FitParameters> </D>

VectorType

Of  the  form:  

<DisplacementVectors units=“Å”> <Vector ref="C1" x3="0." y3="0.001" z3="0.0005"/> <Vector ref="C2" x3="0.01" y3="-0.001" z3="0.0005"/> </DisplacementVectors>

•  The  ref  a`ribute  provides  a  context;  •  x3, y3, z3 are  the  vector  components  •  Units  are  given  in  the  “container”  element.  

MatrixType

<SomeMatrix units=”…” nrows=”n” ncols=”n” form=”symmetric” values=”real”> <RowRefs>row_1 row_2 row_3 … row_n</RowRefs> <ColRefs>col_1 col_2 col_3 …col_n</ColRefs> <Matrix>0. 0. 1. -4. 2. … -3. 0.</Matrix> </SomeMatrix>

•     The  form  of  the  Matrix  determines  the  number  of  values  given  (e.g.  n(n+1)/2  for  symmetric  matrices,  n  for  diagonal  matrices,  n2  for  general  matrices)  

•     (OpFonal)  RowRefs and  ColRefs label  the  rows  and  columns  

•     values  is  real,  imaginary,  or  complex

DataSeries  1.  One  of:  •  a  list  of  white-­‐space  delimited  values:  

<DataList n=“100” units=“nm”>0. 0.5 0.6 1.2</DataList>

•  a  LinearSequence:  

<LinearSequence n=“101” units=“nm” a0=“2000.” a1=“0.05”/>

       represenFng  the  sequence  2000.,  2000.05,  …  ,  2005.0.  •  or  DataFile –  the  name  of  an  external  text  file  containing  the  white-­‐

space  delimited  values    2.  With  either:  •  ErrorList –  a  DataList of  error  values;  •  Error –  a  single  accuracy  applying  to  every  data  point    

XSAMS  v0.1  <ElectronicHome>        <ElectronicComponent>              <VibraFonalHome>                    <VibraFonalComponent>                          <VibraFonalQuantumNumbers>                                <VibraFonalNu>                                      <Label>v1</Label>                                      <Value>1</Value>                                </VibraFonalNu>                                <VibraFonalNu  vibraFonInversion="s">                                      <Label>v2</Label>                                      <Value>0</Value>                                </VibraFonalNu>                                <VibraFonalNu  vibraFonLNu-­‐i="0">                                      <Label>v3</Label>                                      <Value>0</Value>                                </VibraFonalNu>                                <VibraFonalNu  vibraFonLNu-­‐i="2">                                      <Label>v4</Label>                                      <Value>2</Value>                                </VibraFonalNu>                          </VibraFonalQuantumNumbers>  

               <RotaFonalHome>                        <RotaFonalComponent>                                <NonLinearPolyatomic>                                        <NonLinearNoElecNoHyperF>                                                  <TotalAngularMomentumN>                                                        <Label>J</Label>                                                        <Value>22</Value>                                                  </TotalAngularMomentumN>                                                  <MolecularProjecFon>                                                        <TotalMolecularProjecFonN>                                                              <Label>K</Label>                                                              <Value>10</Value>                                                        </TotalMolecularProjecFonN>                                                  </MolecularProjecFon>                                            </NonLinearNoElecNoHyperF>                                      </NonLinearPolyatomic>                                </RotaFonalComponent>                          </RotaFonalHome>                    </VibraFonalComponent>              </VibraFonalHome>        </ElectronicComponent>  </ElectronicHome>      

The  J=22,  K=10  state  of  the  (1,0+,00,22)  vibraFonal  state  of  NH3  

XSAMS  v0.1  <ElectronicHome>        <ElectronicComponent>              <VibraFonalHome>                    <VibraFonalComponent>                          <VibraFonalQuantumNumbers>                                <VibraFonalNu>                                      <Label>v1</Label>                                      <Value>1</Value>                                </VibraFonalNu>                                <VibraFonalNu  vibraFonInversion="s">                                      <Label>v2</Label>                                      <Value>0</Value>                                </VibraFonalNu>                                <VibraFonalNu  vibraFonLNu-­‐i="0">                                      <Label>v3</Label>                                      <Value>0</Value>                                </VibraFonalNu>                                <VibraFonalNu  vibraFonLNu-­‐i="2">                                      <Label>v4</Label>                                      <Value>2</Value>                                </VibraFonalNu>                          </VibraFonalQuantumNumbers>  

               <RotaFonalHome>                        <RotaFonalComponent>                                <NonLinearPolyatomic>                                        <NonLinearNoElecNoHyperF>                                                  <TotalAngularMomentumN>                                                        <Label>J</Label>                                                        <Value>22</Value>                                                  </TotalAngularMomentumN>                                                  <MolecularProjecFon>                                                        <TotalMolecularProjecFonN>                                                              <Label>K</Label>                                                              <Value>10</Value>                                                        </TotalMolecularProjecFonN>                                                  </MolecularProjecFon>                                            </NonLinearNoElecNoHyperF>                                      </NonLinearPolyatomic>                                </RotaFonalComponent>                          </RotaFonalHome>                    </VibraFonalComponent>              </VibraFonalHome>        </ElectronicComponent>  </ElectronicHome>      

The  J=22,  K=10  state  of  the  (1,0+,00,22)  vibraFonal  state  of  NH3  

Molecular  States  

“Case-­‐by-­‐case”  approach  •  Defines  (so  far)  14  types  of  molecular  state  with  a  fully-­‐described  set  of  quantum  numbers  and  symmetries:  

dcs  =  diatomic,  closed-­‐shell  (e.g.  N2,  HCl)  hunda  =  Hund’s  case  (a)  diatomic  (e.g.  OH)  hundb  =  Hund’s  case  (b)  diatomic  (e.g.  NO,  O2)  ltcs  =  linear  triatomic,  closed-­‐shell  (e.g.  CO2)  nltcs  =  non-­‐linear  triatomic,  closed-­‐shell  (e.g.  O3)  stcs  =  symmetric-­‐top,  closed-­‐shell  (e.g.  NH3,  CH3Cl)  sphcs    =  spherical-­‐top,  closed-­‐shell  (e.g.  CH4)  ...  

Case-­‐by-­‐case  example:  OH  (hunda)  <Case xsi:type="hunda:Case" caseID="hunda” xmlns:hunda="http://vamdc.org/xml/xsams/0.2/cases/hunda"> <hunda:QNs> <hunda:ElecStateLabel>X</hunda:ElecStateLabel> <hunda:Lambda>1</hunda:Lambda> <hunda:Omega>1.5</hunda:Omega> <hunda:S>0.5</hunda:S> <hunda:v>0</hunda:v> <hunda:J>4.5</hunda:J> <hunda:F nuclearSpinRef="H1">5.5</hunda:F> <hunda:parity>+</hunda:parity> <hunda:kronigParity>e</hunda:kronigParity> </hunda:QNs> </Case>

Case-­‐by-­‐case  example:  NH3  (stcs)  <Case xsi:type="stcs:Case" caseID="stcs” xmlns:stcs="http://vamdc.org/xml/xsams/0.2/cases/stcs"> <stcs:QNs> <stcs:ElecStateLabel>X</stcs:ElecStateLabel> <stcs:vi mode="1">0</stcs:vi> <stcs:vi mode="2">1</stcs:vi> <stcs:vi mode="3">0</stcs:vi> <stcs:vi mode="4">0</stcs:vi> <stcs:l>0</stcs:l> <stcs:vibInv>s</stcs:vibInv> <stcs:J>15</stcs:J> <stcs:K>1</stcs:K> </stcs:QNs> </Case>

Quantum  Numbers  Descrip?ons:h`p://www.ucl.ac.uk/~ucapch0/XSAMS/cases/QNdesc.html    Valida?on:  ”Minor”:  e.g.  J  >  0  and  integer  for  dcs  case    ”Major”:  e.g.  Ka,  Kc  ≤  J,  Ka  +  Kc  =  J  or  J  +  1  for  stcs  case    

Environments  •  Defined  in  terms  of  total  pressure,  temperature,  and  composi?on.  

•  IdenFfied  by  the  envID /  envRef a`ribute  •  e.g.   <Environment envID="Eair">

<Temperature> <Value units="K">298.</Value> </Temperature> <TotalPressure> <Value units="atm">1.</Value> </TotalPressure> <Composition> <Species name="N2"> <MoleFraction> <Value units="unitless">0.79</Value> </MoleFraction> </Species> <Species name="O2"> <MoleFraction> <Value units="unitless">0.21</Value> </MoleFraction> </Species> </Composition> </Environment>

Environments  •  Temperature •  TotalPressure  or  TotalNumberDensity •  ComposiFon  

+  Species  •  PartialPressure  or  MoleFraction  or  Concentration

Accuracy  •  Systematic  (AccuracyErrorType)  •  Statistical  or  StatHigh  /  StatLow  

(AccuracyErrorType)  •  (a`r)  calibration  =  absolute, relative, normalized, uncalibrated

•  (a`r)  quality  (nonNegativeInteger;  0  =>  quality  guaranteed)  

AccuracyErrorType  (double)  (a`r)  confidence  =  0.  –>  1.  (a`r)  relative  =  true  or  false

Line  Shapes  •  Within  RadiativeTransition,  Broadenings  contains  

one  or  more  Broadening  elements,  labeled  by  the  name  a`ribute,  a  string  taken  from  the  dicFonary:  

1.  pressure 2.  natural 3.  doppler 4.  instrument

 •  Each  type  of  broadening  takes  the  form:   Broadening +Lineshape +LineshapeParameter

 •   Lineshapes  and  their  parameters  are  idenFfied  by  aAribute  

Line  Shapes  -­‐  example   <Broadening name=“pressure” envRef="EHe"> <Lineshape name="Lorentzian"> <LineshapeParameter name="gammaL"> <SourceRef>BStarkB</SourceRef> <Value units=”A">0.008</Value> <Accuracy>0.001</Accuracy> </LineshapeParameter>

</Lineshape> </PressureBroadening>

AbsorpFon  Cross  SecFons  

•  A  good  example  of  the  use  of  DataSeries:  

<CrossSection id="azulene-paxs"> <SourceRef>B_TCSD1</SourceRef> <Description> Photoabsorption cross section of azulene </Description> <X parameter="photon energy" units="eV" id="D-eV-series1"> <LinearSequence n="601" units="eV" a0="0." a1="0.05"/> </X> <Y parameter="sigma" units="Mb"> <DataList n="601" units="Mb"> -1.3588884e-05 0.00029940086 ... 84.611003 </DataList> <Error>1.e-7</Error> </Y> </CrossSection>

ParFFon  FuncFons  

<PartitionFunction> <SourceRef>B-exomol</SourceRef> <T parameter=”temperature" units=”K" id="D-T-series1"> <DataList n=”10" units=”K"> 10 20 50 100 200 400 600 800 1000 1500 </DataList> </T> <Q parameter=”partition function" units=”unitless"> <DataList n=”10" units=”unitless"> 1.00 1.02 1.40 2.32 4.26 8.19 12.17 16.24 20.51 32.53 </DataList> <Error>1.e-2</Error> </Q> </PartitionFunction>

e.g.  3HeH+  

Species  IdenFficaFon  

•  AddiFon  of  a  speciesID a`ribute  to  AtomicIon and  Molecule elements  

•  Referenced  by  speciesRef –  e.g.  in  RadiativeTransition,  CrossSection,  or  Environment (composiFon)  elements    

MolecularStructure  •  Inside  Molecule/MolecularChemicalSpecies

element.    •  Use  CML  to  give  molecular  structure  by  connecFvity  (bonds)  

or  atom  posiFons  (x,y,z).  

•  Labels  atoms  for  e.g.  hyperfine  coupling  quantum  numbers.  

 

Molecular  Structure-­‐  example  

<MoleculeStructure electronicStateRef="SX_Azulene-1"> <cml:atomArray> <cml:atom id="C1" elementType="C" x3="0." y3="0." z3="-2.52"/> <cml:atom id="C2" elementType="C" x3="0." y3="1.26" z3="-1.92"/> ... </cml:atomArray> <cml:bondArray> <cml:bond atomRefs2="C1 C2" id="C1_C2" order="A"/> <cml:bond atomRefs2="C2 C5" id="C2_C5" order="A"/> ... </cml:bondArray> </MoleculeStructure>

Molecular  Structure-­‐  example  <MoleculeStructure> <cml:atomArray> <cml:atom elementType="H" id="H1"/> <cml:atom elementType="O" id="O1" isotopeNumber="18"/> </cml:atomArray> <cml:bondArray> <cml:bond atomRefs2="H1 O1" id="H1_O1" order="S"/> </cml:bondArray> </MoleculeStructure> ... <hunda:QNs> <hunda:ElecStateLabel>X</hunda:ElecStateLabel> <hunda:Lambda>1</hunda:Lambda> <hunda:Omega>1.5</hunda:Omega> <hunda:S>0.5</hunda:S> <hunda:v>2</hunda:v> <hunda:J>7.5</hunda:J> <hunda:F nuclearSpinRef="H1">7.0</hunda:F> <hunda:parity>+</hunda:parity> <hunda:kronigParity>f</hunda:kronigParity> </hunda:QNs>

Basis  Set  Expansions  •  MolecularState  has  a  StateExpansion  element  to  give  the  

coefficients  of  a  linear  expansion  in  some  basis:  e.g.    <StateExpansion> <BasisState coeff=“0.7071”> <Case caseID="hunda” ...> <hunda:QNs> ... </hunda:QNs> <Case> </BasisState> <BasisState coeff=“0.7071”> <Case caseID="hunda” ...> <hunda:QNs> ... </hunda:QNs> <Case> </BasisState> </StateExpansion>

Normal  Modes  

•  Part  of  MolecularChemicalSpecies •  Gives  symmetry,  frequency,  intensity,  and  displacement  vectors  

•  Referred  to  through  an  id  a`ribute  for  e.g.  assignment  of  absorpFon  cross  secFon  data  

•  Also:  Anharmonicity  tensor:    <MatrixData name=“anharmonicity tensor”>  inside:  

StableMolecularProperties/OtherProperties  

Normal  Modes  -­‐  example  <NormalModes electronicStateRef="SX_Azulene-1"> <NormalMode id="v1" pointGroupSymmetry="A1"> <HarmonicFrequency> <Value units="1/cm">162</Value> <Accuracy>1</Accuracy> </HarmonicFrequency> <Intensity> <Value units="km/mol">0</Value> </Intensity> <DisplacementVectors units="Å"> <Vector ref="C1" x3="0." y3="0.001" z3="0.0005"/> <Vector ref="C2" x3="0.01" y3="-0.001" z3="0.0005"/> <Vector ref="C3" x3="-0.005" y3="0.001" z3="0."/> <!-- etc... --> </DisplacementVectors> </NormalMode> </NormalModes>

Normal  Modes  -­‐  example  <BandAssignment name="2v1+v2"> <BandCentre> <Value units="1/cm">410</Value> <Accuracy>2</Accuracy> </BandCentre> <BandWidth> <Value units="1/cm">40</Value> <Accuracy>5</Accuracy> </BandWidth> <Modes> <DeltaV modeID="v1">2</DeltaV> <DeltaV modeID="v2">1</DeltaV> </Modes> </BandAssignment>

Standards  are  like  toothbrushes:  everyone  agrees  you  should  have  one,  but  no-­‐one  wants  to  use  anyone  else’s  

-­‐  Joe  Croser