1<?xml version="1.0" encoding="UTF-8"?> 2<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> 3 <xs:include schemaLocation="http://www.mcc.uiuc.edu/qmc/schema/qmcbase.xsd"/> 4 <xs:complexType name="gridType"> 5 <xs:simpleContent> 6 <xs:extension base="xs:string"> 7 <xs:attribute name="ri" type="xs:double" default="1.e-6"/> 8 <xs:attribute name="rf" type="xs:double" default="1.e2"/> 9 <xs:attribute name="npts" type="xs:integer" default="1001"/> 10 <xs:attribute name="step" type="xs:double" default="0.0125"/> 11 <xs:attribute name="scale" type="xs:double" default="-1.0"/> 12 <xs:attribute name="type" default="log"> 13 <xs:simpleType> 14 <xs:restriction base="xs:NMTOKEN"> 15 <xs:enumeration value="log"/> 16 <xs:enumeration value="linear"/> 17 <xs:enumeration value="numerical"/> 18 </xs:restriction> 19 </xs:simpleType> 20 </xs:attribute> 21 </xs:extension> 22 </xs:simpleContent> 23 </xs:complexType> 24 <xs:complexType name="radfuncType"> 25 <xs:annotation> 26 <xs:documentation> 27 Type representing a radial functor, generic function on an one-dimensional grid. 28 </xs:documentation> 29 </xs:annotation> 30 <xs:simpleContent> 31 <xs:attribute name="id" type="xs:string"></xs:attribute> 32 <xs:attribute name="exponent" type="xs:double" default="0.0"/> 33 <xs:attribute name="contraction" type="xs:double" default="1.0"/> 34 <xs:attribute name="node" type="xs:integer" default="1"/> 35 <xs:attribute name="rcut" type="xs:double" use="optional" default="10"></xs:attribute> 36 </xs:simpleContent> 37 </xs:complexType> 38 <xs:complexType name="basisGroupType"> 39 <xs:sequence> 40 <xs:element name="radfunc" type="radfuncType" minOccurs="0" maxOccurs="unbounded"/> 41 </xs:sequence> 42 <xs:attribute name="rid" type="xs:string" use="required"/> 43 <xs:attribute name="n" type="xs:integer"/> 44 <xs:attribute name="l" type="xs:integer" default="0"/> 45 <xs:attribute name="m" type="xs:integer" default="0"/> 46 <xs:attribute name="type" default="Gaussian"> 47 <xs:simpleType> 48 <xs:restriction base="xs:NMTOKEN"> 49 <xs:enumeration value="Gaussian"/> 50 <xs:enumeration value="Slater"/> 51 <xs:enumeration value="Pade"/> 52 <xs:enumeration value="WM"/> 53 </xs:restriction> 54 </xs:simpleType> 55 </xs:attribute> 56 </xs:complexType> 57 <xs:complexType name="atomicBasisSetType"> 58 <xs:sequence> 59 <xs:element name="grid" type="gridType" minOccurs="0"/> 60 <xs:element name="basisGroup" type="basisGroupType" maxOccurs="unbounded"/> 61 </xs:sequence> 62 <xs:attribute name="name" type="xs:string" use="optional"/> 63 <xs:attribute name="type" use="optional" default="Any"> 64 <xs:simpleType> 65 <xs:restriction base="xs:NMTOKEN"> 66 <xs:enumeration value="Any"/> 67 <xs:enumeration value="Numerical"/> 68 <xs:enumeration value="Gaussian"/> 69 <xs:enumeration value="STO"/> 70 <xs:enumeration value="WM"/> 71 </xs:restriction> 72 </xs:simpleType> 73 </xs:attribute> 74 <xs:attribute name="elementType" type="xs:string" use="required"/> 75 <xs:attribute name="normalized" use="optional" default="no"> 76 <xs:simpleType> 77 <xs:restriction base="xs:NMTOKEN"> 78 <xs:enumeration value="yes"/> 79 <xs:enumeration value="no"/> 80 </xs:restriction> 81 </xs:simpleType> 82 </xs:attribute> 83 <xs:attribute name="angular" use="optional" default="spherical"> 84 <xs:simpleType> 85 <xs:restriction base="xs:NMTOKEN"> 86 <xs:enumeration value="spherical"/> 87 <xs:enumeration value="explicit"/> 88 </xs:restriction> 89 </xs:simpleType> 90 </xs:attribute> 91 <xs:attribute name="expandYlm" use="optional" default="yes"> 92 <xs:simpleType> 93 <xs:restriction base="xs:NMTOKEN"> 94 <xs:enumeration value="yes"/> 95 <xs:enumeration value="no"/> 96 </xs:restriction> 97 </xs:simpleType> 98 </xs:attribute> 99 </xs:complexType> 100 <xs:complexType name="detType"> 101 <xs:sequence> 102 <xs:element name="occupation" type="arrayDataType" minOccurs="0"/> 103 <xs:element name="coefficient" type="arrayDataType" minOccurs="0"/> 104 </xs:sequence> 105 <xs:attribute name="id" type="xs:ID" use="optional"/> 106 <xs:attribute name="spin" type="xs:integer" use="optional"/> 107 <xs:attribute name="orbitals" type="xs:integer" use="required"/> 108 <xs:attribute name="ref" type="xs:string"/> 109 <!-- this should be idref --> 110 </xs:complexType> 111 <xs:complexType name="basissetType"> 112 <xs:sequence> 113 <xs:element name="atomicBasisSet" type="atomicBasisSetType" maxOccurs="unbounded"/> 114 </xs:sequence> 115 </xs:complexType> 116 <xs:complexType name="slaterDetType"> 117 <xs:sequence> 118 <xs:element name="determinant" type="detType" maxOccurs="2"/> 119 </xs:sequence> 120 </xs:complexType> 121 <xs:complexType name="jastrowFuncType"> 122 <xs:annotation> 123 <xs:documentation>jastrow functor</xs:documentation> 124 </xs:annotation> 125 <xs:sequence> 126 <xs:element name="parameter" type="parameterType" minOccurs="0" maxOccurs="unbounded"/> 127 </xs:sequence> 128 <xs:attribute name="speciesA" type="xs:string" use="required"/> 129 <xs:attribute name="speciesB" type="xs:string" use="required"/> 130 </xs:complexType> 131 <xs:complexType name="jastrowType"> 132 <xs:annotation> 133 <xs:documentation>Jastrow correlation function</xs:documentation> 134 </xs:annotation> 135 <xs:sequence> 136 <xs:element name="parameter" type="parameterType" 137 minOccurs="0" maxOccurs="unbounded" /> 138 <xs:element name="correlation" type="jastrowFuncType" 139 minOccurs="0" maxOccurs="unbounded" /> 140 <xs:element name="basisset" type="basissetType" 141 minOccurs="0" maxOccurs="1" /> 142 <xs:element name="coefficient" type="sparseArrayType"></xs:element> 143 </xs:sequence> 144 <xs:attribute name="name" type="xs:string" use="required"/> 145 <xs:attribute name="type" use="required"> 146 <xs:simpleType> 147 <xs:restriction base="xs:NMTOKENS"> 148 <xs:enumeration value="One-Body"/> 149 <xs:enumeration value="Two-Body"/> 150 <xs:enumeration value="Three-Body"/> 151 <xs:enumeration value="Polarization"/> 152 </xs:restriction> 153 </xs:simpleType> 154 </xs:attribute> 155 <xs:attribute name="function" type="xs:string" use="required"/> 156 </xs:complexType> 157 <xs:complexType name="detSetType"> 158 <xs:sequence> 159 <xs:element name="basisset" type="basissetType" minOccurs="0"/> 160 <xs:element name="slaterdeterminant" type="slaterDetType" maxOccurs="unbounded"/> 161 </xs:sequence> 162 <xs:attribute name="type"> 163 <xs:simpleType> 164 <xs:restriction base="xs:NMTOKEN"> 165 <xs:enumeration value="MolecularOrbital"/> 166 <xs:enumeration value="PlaneWave"/> 167 <xs:enumeration value="PW"/> 168 <xs:enumeration value="bspline"/> 169 </xs:restriction> 170 </xs:simpleType> 171 </xs:attribute> 172 <xs:attribute name="source" type="xs:string" use="optional" default="i"/> 173 <xs:attribute name="usegrid" default="no"> 174 <xs:simpleType> 175 <xs:restriction base="xs:NMTOKEN"> 176 <xs:enumeration value="yes"/> 177 <xs:enumeration value="no"/> 178 </xs:restriction> 179 </xs:simpleType> 180 </xs:attribute> 181 </xs:complexType> 182 <xs:complexType name="wavefunctionType"> 183 <xs:annotation> 184 <xs:documentation>A many-body trial wave function</xs:documentation> 185 </xs:annotation> 186 <xs:sequence> 187 <xs:element name="jastrow" type="jastrowType" minOccurs="0" maxOccurs="unbounded"> 188 <xs:annotation> 189 <xs:documentation>Any number of correlation functions</xs:documentation> 190 </xs:annotation> 191 </xs:element> 192 <xs:element name="determinantset" type="detSetType" minOccurs="0"/> 193 </xs:sequence> 194 <xs:attribute name="ref" type="xs:IDREF" use="optional" default="e"/> 195 </xs:complexType> 196</xs:schema> 197