1<?xml version="1.0" encoding="UTF-8"?> 2<!-- edited with XMLSPY v5 rel. 4 U 3 (http://www.xmlspy.com) by Jeongnim Kim (University of Illinois) --> 4<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 5 elementFormDefault="qualified" attributeFormDefault="unqualified"> 6 <xs:simpleType name="ArrayDataTypeEnum"> 7 <xs:restriction base="xs:NMTOKEN"> 8 <xs:enumeration value="posArray" /> 9 <xs:enumeration value="indexArray" /> 10 <xs:enumeration value="scalarArray" /> 11 <xs:enumeration value="stringArray" /> 12 <xs:enumeration value="tensorArray" /> 13 </xs:restriction> 14 </xs:simpleType> 15 <xs:simpleType name="SelectEnum"> 16 <xs:restriction base="xs:NMTOKEN"> 17 <xs:enumeration value="yes" /> 18 <xs:enumeration value="no" /> 19 </xs:restriction> 20 </xs:simpleType> 21 <xs:simpleType name="JastrowFunctionEnum"> 22 <xs:restriction base="xs:NMTOKENS"> 23 <xs:enumeration value="One-Body" /> 24 <xs:enumeration value="Two-Body" /> 25 <xs:enumeration value="Three-Body" /> 26 <xs:enumeration value="Polarization" /> 27 </xs:restriction> 28 </xs:simpleType> 29 <xs:simpleType name="FunctorEnum"> 30 <xs:restriction base="xs:NMTOKEN"> 31 <xs:enumeration value="Gaussian" /> 32 <xs:enumeration value="Slater" /> 33 <xs:enumeration value="Pade" /> 34 </xs:restriction> 35 </xs:simpleType> 36 <xs:simpleType name="QHamiltonianEnum"> 37 <xs:restriction base="xs:NMTOKEN"> 38 <xs:enumeration value="generic" /> 39 <xs:enumeration value="molecule" /> 40 </xs:restriction> 41 </xs:simpleType> 42 <xs:simpleType name="QSystemEnum"> 43 <xs:restriction base="xs:NMTOKEN"> 44 <xs:enumeration value="quantum" /> 45 <xs:enumeration value="molecule" /> 46 <xs:enumeration value="crystal" /> 47 </xs:restriction> 48 </xs:simpleType> 49 <xs:simpleType name="PairPotEnum"> 50 <xs:restriction base="xs:NMTOKEN"> 51 <xs:enumeration value="coulomb" /> 52 <xs:enumeration value="pseudo" /> 53 <xs:enumeration value="cpp" /> 54 </xs:restriction> 55 </xs:simpleType> 56 <xs:simpleType name="AOTypeEnum"> 57 <xs:restriction base="xs:NMTOKEN"> 58 <xs:enumeration value="Any" /> 59 <xs:enumeration value="Numerical" /> 60 <xs:enumeration value="Gaussian" /> 61 <xs:enumeration value="STO" /> 62 </xs:restriction> 63 </xs:simpleType> 64 <xs:simpleType name="AngularTypeEnum"> 65 <xs:restriction base="xs:NMTOKEN"> 66 <xs:enumeration value="spherical" /> 67 <xs:enumeration value="explicit" /> 68 </xs:restriction> 69 </xs:simpleType> 70 <xs:simpleType name="JastrowFunctorEnum"> 71 <xs:restriction base="xs:NMTOKENS"> 72 <xs:enumeration value="pade" /> 73 <xs:enumeration value="pade2" /> 74 <xs:enumeration value="no-cusp" /> 75 </xs:restriction> 76 </xs:simpleType> 77 <xs:simpleType name="SPOTypeEnum"> 78 <xs:restriction base="xs:NMTOKEN"> 79 <xs:enumeration value="PW" /> 80 <xs:enumeration value="bspline" /> 81 <xs:enumeration value="MolecularOrbital" /> 82 <xs:enumeration value="NumericalOrbital" /> 83 </xs:restriction> 84 </xs:simpleType> 85 <xs:simpleType name="GridTypeEnum"> 86 <xs:restriction base="xs:NMTOKEN"> 87 <xs:enumeration value="log" /> 88 <xs:enumeration value="linear" /> 89 <xs:enumeration value="numerical" /> 90 <xs:enumeration value="log0" /> 91 </xs:restriction> 92 </xs:simpleType> 93 <xs:simpleType name="QMCMoveEnum"> 94 <xs:restriction base="xs:NMTOKEN"> 95 <xs:enumeration value="pbyp" /> 96 <xs:enumeration value="walker" /> 97 </xs:restriction> 98 </xs:simpleType> 99 <xs:simpleType name="QMCEngineEnum"> 100 <xs:restriction base="xs:NMTOKEN"> 101 <xs:enumeration value="vmc" /> 102 <xs:enumeration value="dmc" /> 103 <xs:enumeration value="rmc" /> 104 <xs:enumeration value="optimize" /> 105 <xs:enumeration value="test" /> 106 </xs:restriction> 107 </xs:simpleType> 108 <xs:simpleType name="StateEnum"> 109 <xs:restriction base="xs:NMTOKEN"> 110 <xs:enumeration value="ground" /> 111 <xs:enumeration value="excited" /> 112 </xs:restriction> 113 </xs:simpleType> 114 <xs:complexType name="parameterType"> 115 <xs:annotation> 116 <xs:documentation> 117 named parameter. The data type of the parameter can be any atomic 118 data, e.g., int, double, fixed-length vector. Any datatype which 119 implements io operators (<< and >> in C++) is valid. 120 </xs:documentation> 121 </xs:annotation> 122 <xs:simpleContent> 123 <xs:extension base="xs:string"> 124 <xs:attribute name="id" type="xs:ID" use="optional"> 125 <xs:annotation> 126 <xs:documentation>ID of the parameter.</xs:documentation> 127 </xs:annotation> 128 </xs:attribute> 129 <xs:attribute name="ref" type="xs:IDREF" use="optional"> 130 <xs:annotation> 131 <xs:documentation>Reference to other parameter</xs:documentation> 132 </xs:annotation> 133 </xs:attribute> 134 <xs:attribute name="name" type="xs:string" use="required"> 135 <xs:annotation> 136 <xs:documentation> 137 Name of the parameter in the application. The parameters are 138 extensively used to set the simulation parameters with default 139 values. The parammeters with the same names are accepted and the 140 last value is used. 141 </xs:documentation> 142 </xs:annotation> 143 </xs:attribute> 144 <xs:attribute name="unit" type="xs:string" use="optional" /> 145 </xs:extension> 146 </xs:simpleContent> 147 </xs:complexType> 148 <xs:complexType name="attribType"> 149 <xs:annotation> 150 <xs:documentation> 151 generic attribute of an object which is a collection of atomic 152 components. For example, particleset consists of 1 to any number of 153 particles and each particle has attributes, e.g., position, id, 154 velocity etc. The particles that belong to a particleset have the 155 same number of attributes. 156 </xs:documentation> 157 </xs:annotation> 158 <xs:simpleContent> 159 <xs:extension base="xs:string"> 160 <xs:attribute name="name" type="xs:string" use="required"> 161 <xs:annotation> 162 <xs:documentation>Name of the attribute type.</xs:documentation> 163 </xs:annotation> 164 </xs:attribute> 165 <xs:attribute name="datatype" type="ArrayDataTypeEnum" 166 use="required"> 167 <xs:annotation> 168 <xs:documentation>Data type of the attribType.</xs:documentation> 169 </xs:annotation> 170 </xs:attribute> 171 <xs:attribute name="units" type="xs:anySimpleType" use="optional" 172 default="none" /> 173 <xs:attribute name="condition" type="xs:boolean" use="optional" 174 default="0"> 175 <xs:annotation> 176 <xs:documentation> 177 True if the values are in the unit. An example is posArray which 178 can be in the unit of a supercell or Cartesian unit. 179 </xs:documentation> 180 </xs:annotation> 181 </xs:attribute> 182 <xs:attribute name="size" type="xs:int" use="optional" 183 default="0"> 184 <xs:annotation> 185 <xs:documentation>The size of this attribute.</xs:documentation> 186 </xs:annotation> 187 </xs:attribute> 188 </xs:extension> 189 </xs:simpleContent> 190 </xs:complexType> 191 <xs:complexType name="arrayDataType"> 192 <xs:annotation> 193 <xs:documentation> 194 Class to encapsulate array types. Attributes are used to define the 195 dimensionality and the datatype of the array. 196 </xs:documentation> 197 </xs:annotation> 198 <xs:simpleContent> 199 <xs:extension base="xs:string"> 200 <xs:attribute name="id" type="xs:ID" use="optional" /> 201 <xs:attribute name="name" type="xs:string" use="optional" /> 202 <xs:attribute name="datatype" type="xs:string" use="required"> 203 <xs:annotation> 204 <xs:documentation> 205 Type of the array elements. Intrisic data types of C++ and user 206 classes which implement the basic I/O operators, e.g. TinyVector 207 of a fixed dimension of any type. 208 </xs:documentation> 209 </xs:annotation> 210 </xs:attribute> 211 <xs:attribute name="dims" type="xs:string" use="optional" 212 default="1"> 213 <xs:annotation> 214 <xs:documentation> 215 The dimension of an array. The dimensions of a multi-dimensional 216 array are given by integers separated by commas. 217 </xs:documentation> 218 </xs:annotation> 219 </xs:attribute> 220 <xs:attribute name="dataset" type="xs:string" use="optional"> 221 <xs:annotation> 222 <xs:documentation> 223 Link to an external data source, e.g., the full path of a hdf5 224 dataset. 225 </xs:documentation> 226 </xs:annotation> 227 </xs:attribute> 228 </xs:extension> 229 </xs:simpleContent> 230 </xs:complexType> 231 <xs:complexType name="groupType"> 232 <xs:annotation> 233 <xs:documentation> 234 A group to which any number of components of an object belong. 235 </xs:documentation> 236 </xs:annotation> 237 <xs:sequence> 238 <xs:element name="parameter" type="parameterType" minOccurs="0" 239 maxOccurs="unbounded"> 240 <xs:annotation> 241 <xs:documentation> 242 Common properties of the elements in this group. The reserved 243 names of the parameters are charge, valencecharge, and mass. 244 </xs:documentation> 245 </xs:annotation> 246 </xs:element> 247 <xs:element name="attrib" type="attribType" minOccurs="0" 248 maxOccurs="unbounded"> 249 <xs:annotation> 250 <xs:documentation> 251 Attributes of the elements of this group. The reserved names are 252 position, id, and ionid. 253 </xs:documentation> 254 </xs:annotation> 255 </xs:element> 256 </xs:sequence> 257 <xs:attribute name="name" type="xs:string" use="required" /> 258 <xs:attribute name="size" type="xs:int" use="optional" default="0" /> 259 </xs:complexType> 260 <xs:complexType name="applicationType"> 261 <xs:annotation> 262 <xs:documentation> 263 descriptins of the application including the version of an 264 application and special features of the application. 265 </xs:documentation> 266 </xs:annotation> 267 <xs:simpleContent> 268 <xs:extension base="xs:string"> 269 <xs:attribute name="name" type="xs:string" default="qmcpack" /> 270 <xs:attribute name="role" type="xs:string" /> 271 <xs:attribute name="class" type="xs:string" /> 272 <xs:attribute name="version" type="xs:string" /> 273 </xs:extension> 274 </xs:simpleContent> 275 </xs:complexType> 276 <xs:complexType name="projectType"> 277 <xs:annotation> 278 <xs:documentation>Define a project.</xs:documentation> 279 </xs:annotation> 280 <xs:simpleContent> 281 <xs:extension base="xs:string"> 282 <xs:attribute name="id" type="xs:string" use="required"> 283 <xs:annotation> 284 <xs:documentation>Title of the project.</xs:documentation> 285 </xs:annotation> 286 </xs:attribute> 287 <xs:attribute name="series" type="xs:string" use="required"> 288 <xs:annotation> 289 <xs:documentation> 290 Serial number to manage multiple runs of a project. 291 </xs:documentation> 292 </xs:annotation> 293 </xs:attribute> 294 </xs:extension> 295 </xs:simpleContent> 296 </xs:complexType> 297 <xs:complexType name="randomType"> 298 <xs:annotation> 299 <xs:documentation>random generator.</xs:documentation> 300 </xs:annotation> 301 <xs:simpleContent> 302 <xs:extension base="xs:string"> 303 <xs:attribute name="parallel" type="xs:string" default="true" /> 304 <xs:attribute name="seed" type="xs:string" default="-1" /> 305 </xs:extension> 306 </xs:simpleContent> 307 </xs:complexType> 308 <xs:complexType name="hdfFileType"> 309 <xs:annotation> 310 <xs:documentation>hdf5 file</xs:documentation> 311 </xs:annotation> 312 </xs:complexType> 313 <xs:complexType name="unitcellType"> 314 <xs:annotation> 315 <xs:documentation> 316 unit cell of a simulation. 317 <![CDATA[ 318 <unitcell> 319 <parameter name="scale">1.0</parameter> 320 <parameter name="lattice"> 321 13.66536560e+00 0.0000000000e+00 0.0000000000e+00 322 0.0000000000e+00 13.66536560e+00 0.0000000000e+00 323 0.0000000000e+00 0.0000000000e+00 13.66536560e+00 324 </parameter> 325 <parameter name="bconds">p p p</parameter> 326 <parameter name="LR_dim_cutoff">10</parameter> 327 </unitcell> 328 ]]> 329 </xs:documentation> 330 </xs:annotation> 331 <xs:sequence> 332 <xs:element name="parameter" type="parameterType" minOccurs="0" 333 maxOccurs="unbounded" /> 334 </xs:sequence> 335 </xs:complexType> 336 <xs:complexType name="ParticleSetType"> 337 <xs:annotation> 338 <xs:documentation> 339 Define a set of particles. Typically used to give an input 340 configuration. UnitCell is optional. 341 </xs:documentation> 342 </xs:annotation> 343 <xs:sequence minOccurs="0"> 344 <xs:element name="unitcell" type="unitcellType" minOccurs="0"> 345 <xs:annotation> 346 <xs:documentation> 347 Define the unit cell of a simulation. 348 </xs:documentation> 349 </xs:annotation> 350 </xs:element> 351 <xs:element name="group" type="groupType" minOccurs="0" 352 maxOccurs="unbounded"> 353 <xs:annotation> 354 <xs:documentation> 355 Define distinct groups of the particles in this particleset. 356 </xs:documentation> 357 </xs:annotation> 358 </xs:element> 359 <xs:element name="attrib" type="attribType" minOccurs="0" 360 maxOccurs="unbounded"> 361 <xs:annotation> 362 <xs:documentation> 363 Add generic particle attributes. The number of data per attribute 364 is defined by num of ParticleSetType. Reserved names are position, 365 id and ionid. 366 </xs:documentation> 367 </xs:annotation> 368 </xs:element> 369 </xs:sequence> 370 <xs:attribute name="id" type="xs:ID" use="optional" /> 371 <xs:attribute name="name" type="xs:string" use="required" /> 372 <xs:attribute name="size" type="xs:int" use="optional" default="0"> 373 <xs:annotation> 374 <xs:documentation> 375 The number of particles contained in a ParticleSet. If it is 376 non-zero integer, ohmms assumes that the input attributes 377 (attribType) contain the same number of data. 378 </xs:documentation> 379 </xs:annotation> 380 </xs:attribute> 381 <xs:attribute name="src" type="xs:string" use="optional" /> 382 <xs:attribute name="type" type="QSystemEnum"> 383 <xs:annotation> 384 <xs:documentation> 385 Keyword/enumeration to describe a particleset. 386 </xs:documentation> 387 </xs:annotation> 388 </xs:attribute> 389 </xs:complexType> 390 <xs:complexType name="qmcHamiltonianType"> 391 <xs:annotation> 392 <xs:documentation>Hamiltonian</xs:documentation> 393 </xs:annotation> 394 <xs:sequence> 395 <xs:element name="pairpot" type="pairpotType" minOccurs="0" 396 maxOccurs="unbounded" /> 397 <xs:element name="constant" type="pairpotType" minOccurs="0" 398 maxOccurs="unbounded" /> 399 </xs:sequence> 400 <xs:attribute name="name" type="xs:string" use="optional" /> 401 <xs:attribute name="type" type="QHamiltonianEnum" use="optional" 402 default="generic"> 403 </xs:attribute> 404 <xs:attribute name="target" type="xs:string" use="optional" 405 default="e" /> 406 </xs:complexType> 407 <xs:complexType name="pairpotType"> 408 <xs:annotation> 409 <xs:documentation> 410 Operators that make up a Hamiltonian 411 </xs:documentation> 412 </xs:annotation> 413 <xs:sequence> 414 <xs:element name="pseudo" type="pseudopotType" minOccurs="0" 415 maxOccurs="unbounded" /> 416 </xs:sequence> 417 <xs:attribute name="name" type="xs:string" use="required" /> 418 <xs:attribute name="type" type="PairPotEnum" use="required" /> 419 <xs:attribute name="source" type="xs:string" use="optional" 420 default="i" /> 421 <xs:attribute name="target" type="xs:string" use="optional" 422 default="e" /> 423 <xs:attribute name="wavefunction" type="xs:string" use="optional" 424 default="psi0" /> 425 <xs:attribute name="format" type="xs:string" use="optional" 426 default="xml" /> 427 </xs:complexType> 428 <xs:complexType name="pseudopotType"> 429 <xs:annotation> 430 <xs:documentation>Pseudopotential for a species</xs:documentation> 431 </xs:annotation> 432 <xs:attribute name="elementType" type="xs:string" use="required" /> 433 <xs:attribute name="href" type="xs:string" use="optional" /> 434 </xs:complexType> 435 <xs:complexType name="basisGroupType"> 436 <xs:annotation> 437 <xs:documentation> 438 Define a basisGroup for each channel. The number of basisGroupType 439 elements is related to the size of a bsis set. 440 </xs:documentation> 441 </xs:annotation> 442 <xs:sequence> 443 <xs:element name="radfunc" type="radfuncType" minOccurs="0" 444 maxOccurs="unbounded" /> 445 </xs:sequence> 446 <xs:attribute name="rid" type="xs:string" use="required" /> 447 <xs:attribute name="n" type="xs:integer" /> 448 <xs:attribute name="l" type="xs:integer" default="0" /> 449 <xs:attribute name="m" type="xs:integer" default="0" /> 450 <xs:attribute name="type" type="FunctorEnum" default="Gaussian"> 451 </xs:attribute> 452 </xs:complexType> 453 <xs:complexType name="atomicBasisSetType"> 454 <xs:annotation> 455 <xs:documentation> 456 basisSet associated with an atom or any object identified a 457 coordinate. 458 </xs:documentation> 459 </xs:annotation> 460 <xs:sequence> 461 <xs:element name="grid" type="gridType" minOccurs="0" /> 462 <xs:element name="basisGroup" type="basisGroupType" 463 maxOccurs="unbounded" /> 464 </xs:sequence> 465 <xs:attribute name="name" type="xs:string" use="optional" /> 466 <xs:attribute name="type" type="AOTypeEnum" use="optional" 467 default="Any"> 468 </xs:attribute> 469 <xs:attribute name="elementType" type="xs:string" use="required" /> 470 <xs:attribute name="normalized" type="SelectEnum" use="optional" 471 default="no" /> 472 <xs:attribute name="angular" type="AngularTypeEnum" use="optional" 473 default="spherical" /> 474 <xs:attribute name="expandYlm" type="SelectEnum" use="optional" 475 default="yes" /> 476 </xs:complexType> 477 <xs:complexType name="detType"> 478 <xs:annotation> 479 <xs:documentation>Dirac determinant.</xs:documentation> 480 </xs:annotation> 481 <xs:sequence> 482 <xs:element name="occupation" type="occupationType" minOccurs="0" /> 483 <xs:element name="coefficient" type="arrayDataType" minOccurs="0" /> 484 </xs:sequence> 485 <xs:attribute name="id" type="xs:ID" use="optional" /> 486 <xs:attribute name="spin" type="xs:integer" use="optional" /> 487 <xs:attribute name="orbitals" type="xs:integer" use="required" /> 488 <xs:attribute name="href" type="xs:string" use="optional" /> 489 </xs:complexType> 490 <xs:complexType name="basissetType"> 491 <xs:annotation> 492 <xs:documentation>general basis set.</xs:documentation> 493 </xs:annotation> 494 <xs:sequence> 495 <xs:element name="atomicBasisSet" type="atomicBasisSetType" 496 minOccurs="0" maxOccurs="unbounded" /> 497 <xs:element name="grid" type="gridType" minOccurs="0" /> 498 </xs:sequence> 499 </xs:complexType> 500 <xs:complexType name="slaterDetType"> 501 <xs:annotation> 502 <xs:documentation>Slater determinant</xs:documentation> 503 </xs:annotation> 504 <xs:sequence> 505 <xs:element name="coefficient" type="xs:double" default="1.0" 506 minOccurs="0" /> 507 <xs:element name="determinant" type="detType" maxOccurs="unbounded" /> 508 </xs:sequence> 509 </xs:complexType> 510 <xs:complexType name="jastrowFuncType"> 511 <xs:annotation> 512 <xs:documentation> 513 elementary scaling functor for Jastrow function 514 </xs:documentation> 515 </xs:annotation> 516 <xs:sequence> 517 <xs:element name="parameter" type="parameterType" minOccurs="0" 518 maxOccurs="unbounded" /> 519 </xs:sequence> 520 <xs:attribute name="speciesA" type="xs:string" use="required" /> 521 <xs:attribute name="speciesB" type="xs:string" use="required" /> 522 <xs:attribute name="type" type="xs:string" use="optional" /> 523 </xs:complexType> 524 <xs:complexType name="jastrowType"> 525 <xs:annotation> 526 <xs:documentation>Jastrow correlation function</xs:documentation> 527 </xs:annotation> 528 <xs:sequence> 529 <xs:element name="correlation" type="jastrowFuncType" 530 maxOccurs="unbounded" /> 531 </xs:sequence> 532 <xs:attribute name="name" type="xs:string" use="required" /> 533 <xs:attribute name="type" type="JastrowFunctionEnum" use="required"> 534 </xs:attribute> 535 <xs:attribute name="spin" type="SelectEnum" use="optional" 536 default="no" /> 537 <xs:attribute name="transform" type="SelectEnum" use="optional" 538 default="no" /> 539 <xs:attribute name="function" type="JastrowFunctorEnum" 540 use="required" /> 541 </xs:complexType> 542 <xs:complexType name="detSetType"> 543 <xs:annotation> 544 <xs:documentation>Set of Slater Determinants</xs:documentation> 545 </xs:annotation> 546 <xs:sequence> 547 <xs:element name="basisSet" type="basissetType" minOccurs="0" /> 548 <xs:element name="slaterDeterminant" type="slaterDetType" 549 maxOccurs="unbounded" /> 550 </xs:sequence> 551 <xs:attribute name="type" type="SPOTypeEnum" /> 552 <xs:attribute name="source" type="xs:string" use="optional" 553 default="i" /> 554 <xs:attribute name="transform" type="SelectEnum" use="optional" 555 default="no" /> 556 </xs:complexType> 557 <xs:complexType name="wavefunctionType"> 558 <xs:annotation> 559 <xs:documentation>Many-body trial wave function</xs:documentation> 560 </xs:annotation> 561 <xs:sequence> 562 <xs:element name="jastrow" minOccurs="0" maxOccurs="unbounded"> 563 <xs:annotation> 564 <xs:documentation> 565 Any number of correlation functions 566 </xs:documentation> 567 </xs:annotation> 568 <xs:complexType> 569 <xs:complexContent> 570 <xs:extension base="jastrowType"> 571 <xs:attribute name="source" type="xs:string" use="optional" 572 default="ion" /> 573 </xs:extension> 574 </xs:complexContent> 575 </xs:complexType> 576 </xs:element> 577 <xs:element name="determinantSet" type="detSetType" minOccurs="0" /> 578 </xs:sequence> 579 <xs:attribute name="id" type="xs:ID" use="optional" /> 580 <xs:attribute name="name" type="xs:string" use="optional" 581 default="psi0" /> 582 <xs:attribute name="target" type="xs:string" use="optional" 583 default="e" /> 584 </xs:complexType> 585 <xs:complexType name="radfuncType"> 586 <xs:annotation> 587 <xs:documentation> 588 Generic one-dimensional function with respect to an origin 589 </xs:documentation> 590 </xs:annotation> 591 <xs:attribute name="id" type="xs:ID" use="optional" /> 592 <xs:attribute name="exponent" type="xs:double" use="required" /> 593 <xs:attribute name="contraction" type="xs:double" use="optional" 594 default="1.0" /> 595 <xs:attribute name="node" type="xs:integer" use="optional" 596 default="1" /> 597 </xs:complexType> 598 <xs:complexType name="gridType"> 599 <xs:annotation> 600 <xs:documentation>One-dimensional grid</xs:documentation> 601 </xs:annotation> 602 <xs:attribute name="id" type="xs:ID" use="optional" /> 603 <xs:attribute name="ri" type="xs:double" use="optional" 604 default="1e-6"> 605 <xs:annotation> 606 <xs:documentation>First value of the grid</xs:documentation> 607 </xs:annotation> 608 </xs:attribute> 609 <xs:attribute name="rf" type="xs:double" use="optional" 610 default="100"> 611 <xs:annotation> 612 <xs:documentation>Last value of the grid</xs:documentation> 613 </xs:annotation> 614 </xs:attribute> 615 <xs:attribute name="type" type="GridTypeEnum" use="optional" 616 default="log"> 617 <xs:annotation> 618 <xs:documentation>Grid type</xs:documentation> 619 </xs:annotation> 620 </xs:attribute> 621 <xs:attribute name="npts" type="xs:integer" use="optional" 622 default="1001"> 623 <xs:annotation> 624 <xs:documentation> 625 Number of grid points where the data are defined. The valid range 626 of the indices depends on closed attribute. 627 </xs:documentation> 628 </xs:annotation> 629 </xs:attribute> 630 <xs:attribute name="closed" type="SelectEnum" use="optional" 631 default="no"> 632 <xs:annotation> 633 <xs:documentation> 634 If closed="yes", the data are defined on [ri,rf]. If closed="no", 635 on [ri,rf). 636 </xs:documentation> 637 </xs:annotation> 638 </xs:attribute> 639 </xs:complexType> 640 <xs:complexType name="occupationType"> 641 <xs:annotation> 642 <xs:documentation>occuation number</xs:documentation> 643 </xs:annotation> 644 <xs:attribute name="id" type="xs:ID" use="optional" /> 645 <xs:attribute name="mode" type="StateEnum" use="optional" 646 default="ground" /> 647 <xs:attribute name="size" type="xs:integer" use="optional" 648 default="1" /> 649 </xs:complexType> 650 <xs:complexType name="qmcSystemType"> 651 <xs:annotation> 652 <xs:documentation> 653 Complex type defining a system for a QMC simulation. 654 </xs:documentation> 655 </xs:annotation> 656 <xs:sequence> 657 <xs:element name="simulationcell" type="unitcellType" minOccurs="0" 658 maxOccurs="1"> 659 <xs:annotation> 660 <xs:documentation> 661 Define a simulation cell for the particlesets within this 662 qmcsystem declaration. 663 </xs:documentation> 664 </xs:annotation> 665 </xs:element> 666 <xs:element name="particleset" type="ParticleSetType" minOccurs="0" 667 maxOccurs="unbounded" /> 668 <xs:element name="wavefunction" type="wavefunctionType" minOccurs="0" 669 maxOccurs="unbounded" /> 670 <xs:element name="hamiltonian" type="qmcHamiltonianType" 671 minOccurs="0" maxOccurs="unbounded" /> 672 </xs:sequence> 673 <xs:attribute name="id" type="xs:ID" use="optional" /> 674 <xs:attribute name="name" type="xs:string" use="optional" /> 675 </xs:complexType> 676 <xs:attributeGroup name="qmcAttribGroup"> 677 <xs:annotation> 678 <xs:documentation> 679 Common attributes for qmc drivers 680 </xs:documentation> 681 </xs:annotation> 682 <xs:attribute name="title" type="xs:string"> 683 <xs:annotation> 684 <xs:documentation>A title of this qmc secton.</xs:documentation> 685 </xs:annotation> 686 </xs:attribute> 687 <xs:attribute name="target" type="xs:string" use="optional" 688 default="e" /> 689 <xs:attribute name="move" type="QMCMoveEnum" use="optional" 690 default="walker"> 691 <xs:annotation> 692 <xs:documentation> 693 Update mode of a qmc driver. pbyp: particle-by-particle update 694 walker: walker-by-walker update 695 </xs:documentation> 696 </xs:annotation> 697 </xs:attribute> 698 <xs:attribute name="append" type="SelectEnum" use="optional" 699 default="no"> 700 <xs:annotation> 701 <xs:documentation> 702 If yes, the section is appended to a preceding qmc section. 703 </xs:documentation> 704 </xs:annotation> 705 </xs:attribute> 706 </xs:attributeGroup> 707 <xs:attributeGroup name="multipleAttribGroup"> 708 <xs:annotation> 709 <xs:documentation>Attributes for umbrella sampling</xs:documentation> 710 </xs:annotation> 711 <xs:attribute name="multiple" type="SelectEnum" use="optional" 712 default="no" /> 713 <xs:attribute name="warp" type="SelectEnum" use="optional" 714 default="no" /> 715 </xs:attributeGroup> 716 <xs:complexType name="qmcSystemRefType"> 717 <xs:annotation> 718 <xs:documentation> 719 reference to a set of particleset, wavefunction and hamiltonian for 720 correlated sampling 721 </xs:documentation> 722 </xs:annotation> 723 <xs:attribute name="wavefunction" type="xs:string" use="required"> 724 <xs:annotation> 725 <xs:documentation>The name of wavefunction.</xs:documentation> 726 </xs:annotation> 727 </xs:attribute> 728 <xs:attribute name="hamiltonian" type="xs:string" use="required"> 729 <xs:annotation> 730 <xs:documentation>The name of hamiltonian.</xs:documentation> 731 </xs:annotation> 732 </xs:attribute> 733 </xs:complexType> 734 <xs:complexType name="qmcType"> 735 <xs:annotation> 736 <xs:documentation>QMC section</xs:documentation> 737 </xs:annotation> 738 <xs:choice minOccurs="0" maxOccurs="unbounded"> 739 <xs:element name="qmcsystem" type="qmcSystemRefType" minOccurs="0" 740 maxOccurs="unbounded" /> 741 <xs:element name="parameter" type="parameterType" minOccurs="0" 742 maxOccurs="unbounded" /> 743 <xs:element name="cost" type="parameterType" minOccurs="0" 744 maxOccurs="unbounded" /> 745 <xs:element name="optimize" minOccurs="0"> 746 <xs:complexType> 747 <xs:simpleContent> 748 <xs:extension base="xs:string" /> 749 </xs:simpleContent> 750 </xs:complexType> 751 </xs:element> 752 <xs:element name="optimizer" minOccurs="0"> 753 <xs:complexType> 754 <xs:sequence> 755 <xs:element name="parameter" type="parameterType" minOccurs="0" 756 maxOccurs="unbounded" /> 757 </xs:sequence> 758 <xs:attribute name="method" /> 759 </xs:complexType> 760 </xs:element> 761 </xs:choice> 762 <xs:attributeGroup ref="qmcAttribGroup" /> 763 <xs:attribute name="method" type="QMCEngineEnum" use="optional" 764 default="test" /> 765 </xs:complexType> 766 <xs:complexType name="qmcLoopType"> 767 <xs:annotation> 768 <xs:documentation> 769 A loop of QMC sections to execute multiple times with the same 770 simulation parameters. 771 </xs:documentation> 772 </xs:annotation> 773 <xs:sequence> 774 <xs:element name="qmc" type="qmcType" minOccurs="1" 775 maxOccurs="unbounded" /> 776 </xs:sequence> 777 <xs:attribute name="max" type="xs:int" use="optional" default="1"> 778 <xs:annotation> 779 <xs:documentation> 780 Maximum number of iterations of this loop. The state, parameters 781 and execution orders are preserved within a loop. project/@series 782 is automatically increted whenever a loop is completed. 783 </xs:documentation> 784 </xs:annotation> 785 </xs:attribute> 786 </xs:complexType> 787 <!-- Simulation --> 788 <xs:element name="simulation"> 789 <xs:annotation> 790 <xs:documentation>root of qmc simulation</xs:documentation> 791 </xs:annotation> 792 <xs:complexType> 793 <xs:sequence> 794 <xs:element name="project" type="projectType"> 795 <xs:annotation> 796 <xs:documentation> 797 Describe a project. id and series are used to group the runs. 798 </xs:documentation> 799 </xs:annotation> 800 </xs:element> 801 <xs:element name="application" type="applicationType" 802 minOccurs="0"> 803 <xs:annotation> 804 <xs:documentation> 805 Comments on the application used for a run. 806 </xs:documentation> 807 </xs:annotation> 808 </xs:element> 809 <xs:element name="random" type="randomType" minOccurs="0"> 810 <xs:annotation> 811 <xs:documentation> 812 Set the seeds for the random number generators. Default is to 813 assign parallel random numbers based on the date and time of a 814 run. 815 </xs:documentation> 816 </xs:annotation> 817 </xs:element> 818 <xs:choice minOccurs="0" maxOccurs="unbounded"> 819 <xs:element name="particleset" type="ParticleSetType"> 820 <xs:annotation> 821 <xs:documentation>Define a particleset.</xs:documentation> 822 </xs:annotation> 823 </xs:element> 824 <xs:element name="wavefunction" type="wavefunctionType"> 825 <xs:annotation> 826 <xs:documentation>Define a trial wavefunction.</xs:documentation> 827 </xs:annotation> 828 </xs:element> 829 <xs:element name="hamiltonian" type="qmcHamiltonianType"> 830 <xs:annotation> 831 <xs:documentation>Define a hamiltonian.</xs:documentation> 832 </xs:annotation> 833 </xs:element> 834 <xs:element name="qmcsystem"> 835 <xs:annotation> 836 <xs:documentation> 837 A composite class which can have particlesets, wavefunction and 838 hamiltonian. 839 </xs:documentation> 840 </xs:annotation> 841 <xs:complexType> 842 <xs:complexContent> 843 <xs:extension base="qmcSystemType"> 844 <xs:attribute name="href" type="xs:string" use="optional" /> 845 </xs:extension> 846 </xs:complexContent> 847 </xs:complexType> 848 </xs:element> 849 <xs:element name="include"> 850 <xs:annotation> 851 <xs:documentation> 852 Interface to include an external xml file. 853 </xs:documentation> 854 </xs:annotation> 855 <xs:complexType> 856 <xs:attribute name="href" type="xs:string" use="required" /> 857 </xs:complexType> 858 </xs:element> 859 </xs:choice> 860 <xs:choice minOccurs="0" maxOccurs="unbounded"> 861 <xs:element name="qmc" type="qmcType"> 862 <xs:annotation> 863 <xs:documentation>Execute a qmc section.</xs:documentation> 864 </xs:annotation> 865 </xs:element> 866 <xs:element name="loop" type="qmcLoopType"> 867 <xs:annotation> 868 <xs:documentation> 869 Execute the enclosed qmc sections multiple times. 870 </xs:documentation> 871 </xs:annotation> 872 </xs:element> 873 </xs:choice> 874 </xs:sequence> 875 </xs:complexType> 876 </xs:element> 877 <xs:element name="qmcsystem" type="qmcSystemType"> 878 <xs:annotation> 879 <xs:documentation> 880 Root of external xml documents to define a QMC system. In general, 881 tools generate a xml file which contains particlesets and 882 wavefunctions extracted from the outputs of DFT/QC packages. 883 </xs:documentation> 884 </xs:annotation> 885 </xs:element> 886</xs:schema>