File: xmds2.toc

package info (click to toggle)
xmds2 2.2.2%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 53,384 kB
  • ctags: 7,223
  • sloc: python: 54,076; cpp: 3,929; ansic: 1,463; makefile: 135; sh: 20
file content (145 lines) | stat: -rw-r--r-- 12,624 bytes parent folder | download | duplicates (2)
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
\select@language {english}
\contentsline {chapter}{\numberline {1}Introduction}{1}{chapter.1}
\contentsline {chapter}{\numberline {2}Installation}{3}{chapter.2}
\contentsline {section}{\numberline {2.1}Installers}{3}{section.2.1}
\contentsline {section}{\numberline {2.2}Linux installer instructions}{3}{section.2.2}
\contentsline {section}{\numberline {2.3}Mac OS X Installation}{4}{section.2.3}
\contentsline {subsection}{\numberline {2.3.1}Download}{4}{subsection.2.3.1}
\contentsline {subsection}{\numberline {2.3.2}Using the Mac OS X Installer}{4}{subsection.2.3.2}
\contentsline {section}{\numberline {2.4}Manual installation from source}{4}{section.2.4}
\contentsline {chapter}{\numberline {3}Quickstart Tutorial}{9}{chapter.3}
\contentsline {chapter}{\numberline {4}Worked Examples}{15}{chapter.4}
\contentsline {section}{\numberline {4.1}The nonlinear Schr\IeC {\"o}dinger equation}{15}{section.4.1}
\contentsline {section}{\numberline {4.2}Kubo Oscillator}{19}{section.4.2}
\contentsline {section}{\numberline {4.3}Fibre Noise}{21}{section.4.3}
\contentsline {section}{\numberline {4.4}Integer Dimensions}{25}{section.4.4}
\contentsline {section}{\numberline {4.5}Wigner Function}{28}{section.4.5}
\contentsline {section}{\numberline {4.6}Finding the Ground State of a BEC (continuous renormalisation)}{31}{section.4.6}
\contentsline {section}{\numberline {4.7}Finding the Ground State of a BEC again}{35}{section.4.7}
\contentsline {section}{\numberline {4.8}Multi-component Schr\IeC {\"o}dinger equation}{39}{section.4.8}
\contentsline {chapter}{\numberline {5}Reference section}{43}{chapter.5}
\contentsline {section}{\numberline {5.1}Configuration, installation and runtime options}{43}{section.5.1}
\contentsline {section}{\numberline {5.2}Useful XML Syntax}{44}{section.5.2}
\contentsline {section}{\numberline {5.3}XMDS2 XML Schema}{44}{section.5.3}
\contentsline {section}{\numberline {5.4}XMDS2 script elements}{46}{section.5.4}
\contentsline {subsection}{\numberline {5.4.1}Simulation element}{47}{subsection.5.4.1}
\contentsline {subsection}{\numberline {5.4.2}Name element}{47}{subsection.5.4.2}
\contentsline {subsection}{\numberline {5.4.3}Author element}{47}{subsection.5.4.3}
\contentsline {subsection}{\numberline {5.4.4}Description element}{47}{subsection.5.4.4}
\contentsline {subsection}{\numberline {5.4.5}Features Elements}{47}{subsection.5.4.5}
\contentsline {subsubsection}{Arguments Element}{48}{subsubsection*.5}
\contentsline {paragraph}{Argument element}{49}{paragraph*.6}
\contentsline {subsubsection}{Auto\_vectorise element}{49}{subsubsection*.7}
\contentsline {subsubsection}{Benchmark}{49}{subsubsection*.8}
\contentsline {subsubsection}{Bing}{49}{subsubsection*.9}
\contentsline {subsubsection}{C Flags}{49}{subsubsection*.10}
\contentsline {subsubsection}{Chunked Output}{50}{subsubsection*.11}
\contentsline {subsubsection}{Diagnostics}{50}{subsubsection*.12}
\contentsline {subsubsection}{Error Check}{50}{subsubsection*.13}
\contentsline {subsubsection}{Halt\_Non\_Finite}{51}{subsubsection*.14}
\contentsline {subsubsection}{fftw element}{51}{subsubsection*.15}
\contentsline {subsubsection}{Globals}{51}{subsubsection*.16}
\contentsline {subsubsection}{OpenMP}{51}{subsubsection*.17}
\contentsline {subsubsection}{Precision}{51}{subsubsection*.18}
\contentsline {subsubsection}{Validation}{52}{subsubsection*.19}
\contentsline {subsection}{\numberline {5.4.6}Driver Element}{53}{subsection.5.4.6}
\contentsline {subsection}{\numberline {5.4.7}Geometry Element}{53}{subsection.5.4.7}
\contentsline {subsubsection}{The ``dft'' transform}{54}{subsubsection*.24}
\contentsline {subsubsection}{The ``dct'' transform}{55}{subsubsection*.25}
\contentsline {subsubsection}{The ``dst'' transform}{56}{subsubsection*.26}
\contentsline {subsubsection}{The ``bessel'' and ``bessel-neumann'' transforms}{57}{subsubsection*.27}
\contentsline {subsubsection}{The ``spherical-bessel'' transform}{58}{subsubsection*.28}
\contentsline {subsubsection}{The ``hermite-gauss'' transform}{58}{subsubsection*.29}
\contentsline {subsection}{\numberline {5.4.8}Vector Element}{59}{subsection.5.4.8}
\contentsline {subsubsection}{The dependencies element}{61}{subsubsection*.34}
\contentsline {subsection}{\numberline {5.4.9}Computed Vector Element}{62}{subsection.5.4.9}
\contentsline {subsection}{\numberline {5.4.10}Noise Vector Element}{63}{subsection.5.4.10}
\contentsline {subsubsection}{Uniform noise}{64}{subsubsection*.36}
\contentsline {subsubsection}{Gaussian noise}{64}{subsubsection*.37}
\contentsline {subsubsection}{Wiener noise}{64}{subsubsection*.38}
\contentsline {subsubsection}{Poissonian noise}{65}{subsubsection*.39}
\contentsline {subsubsection}{Jump noise}{65}{subsubsection*.40}
\contentsline {subsection}{\numberline {5.4.11}Sequence Element}{65}{subsection.5.4.11}
\contentsline {subsection}{\numberline {5.4.12}Filter element}{66}{subsection.5.4.12}
\contentsline {subsection}{\numberline {5.4.13}Integrate element}{66}{subsection.5.4.13}
\contentsline {subsubsection}{Operators and operator elements}{67}{subsubsection*.42}
\contentsline {subsubsection}{Algorithms}{69}{subsubsection*.47}
\contentsline {paragraph}{SI and SIC algorithms}{69}{paragraph*.48}
\contentsline {paragraph}{Runge-Kutta algorithms}{70}{paragraph*.49}
\contentsline {paragraph}{Adaptive Runge-Kutta algorithms}{70}{paragraph*.50}
\contentsline {paragraph}{Richardson Extrapolation Algorithms and the Bulirsch-Stoer Method}{71}{paragraph*.51}
\contentsline {subsubsection}{Filters element}{71}{subsubsection*.52}
\contentsline {subsection}{\numberline {5.4.14}Breakpoint element}{72}{subsection.5.4.14}
\contentsline {subsection}{\numberline {5.4.15}Output element}{72}{subsection.5.4.15}
\contentsline {subsubsection}{Sampling Group Element}{72}{subsubsection*.53}
\contentsline {subsection}{\numberline {5.4.16}XMDS-specific C syntax}{73}{subsection.5.4.16}
\contentsline {section}{\numberline {5.5}Modified Midpoint Method}{74}{section.5.5}
\contentsline {section}{\numberline {5.6}Bulirsch-Stoer Algorithm}{74}{section.5.6}
\contentsline {section}{\numberline {5.7}Error Scaling Behaviour}{76}{section.5.7}
\contentsline {chapter}{\numberline {6}Advanced Topics}{77}{chapter.6}
\contentsline {section}{\numberline {6.1}Importing data}{77}{section.6.1}
\contentsline {section}{\numberline {6.2}Convolutions and Fourier transforms}{79}{section.6.2}
\contentsline {subsection}{\numberline {6.2.1}Example 1}{80}{subsection.6.2.1}
\contentsline {subsection}{\numberline {6.2.2}Example 2}{81}{subsection.6.2.2}
\contentsline {subsection}{\numberline {6.2.3}Example 3}{81}{subsection.6.2.3}
\contentsline {section}{\numberline {6.3}`Loose' \texttt {geometry\_matching\_mode}}{82}{section.6.3}
\contentsline {section}{\numberline {6.4}Dimension aliases}{82}{section.6.4}
\contentsline {chapter}{\numberline {7}Frequently Asked Questions}{83}{chapter.7}
\contentsline {section}{\numberline {7.1}XMDS scripts look complicated! How do I start?}{83}{section.7.1}
\contentsline {section}{\numberline {7.2}Where can I get help?}{83}{section.7.2}
\contentsline {section}{\numberline {7.3}How should I cite XMDS2?}{83}{section.7.3}
\contentsline {section}{\numberline {7.4}I think I found a bug! Where should I report it?}{83}{section.7.4}
\contentsline {section}{\numberline {7.5}How do I put time dependence into my vectors?}{83}{section.7.5}
\contentsline {section}{\numberline {7.6}Can I specify the range of my domain and number of grid points at run-time?}{84}{section.7.6}
\contentsline {section}{\numberline {7.7}When can I use IP operators (and why should I) and when must I use EX operators?}{84}{section.7.7}
\contentsline {section}{\numberline {7.8}Visual Editors}{84}{section.7.8}
\contentsline {chapter}{\numberline {8}Upgrading From XMDS 1.X}{85}{chapter.8}
\contentsline {chapter}{\numberline {9}Optimisation Hints}{87}{chapter.9}
\contentsline {section}{\numberline {9.1}Geometry and transform-based tricks}{87}{section.9.1}
\contentsline {subsection}{\numberline {9.1.1}Simpler simulation geometries}{87}{subsection.9.1.1}
\contentsline {subsection}{\numberline {9.1.2}Tricks for Bessel and Hermite-Gauss transforms}{87}{subsection.9.1.2}
\contentsline {section}{\numberline {9.2}Reduce code complexity}{87}{section.9.2}
\contentsline {subsection}{\numberline {9.2.1}Optimising with the Interaction Picture (IP) operator}{87}{subsection.9.2.1}
\contentsline {subsection}{\numberline {9.2.2}Consider writing the evolution in spectral basis}{88}{subsection.9.2.2}
\contentsline {subsection}{\numberline {9.2.3}Don't recalculate things you don't have to}{89}{subsection.9.2.3}
\contentsline {section}{\numberline {9.3}Compiler and library tricks}{89}{section.9.3}
\contentsline {subsection}{\numberline {9.3.1}Faster compiler}{89}{subsection.9.3.1}
\contentsline {subsection}{\numberline {9.3.2}Faster libraries}{89}{subsection.9.3.2}
\contentsline {subsection}{\numberline {9.3.3}Auto-vectorisation}{90}{subsection.9.3.3}
\contentsline {subsection}{\numberline {9.3.4}OpenMP}{90}{subsection.9.3.4}
\contentsline {subsection}{\numberline {9.3.5}Parallelisation with MPI}{91}{subsection.9.3.5}
\contentsline {section}{\numberline {9.4}Atom-optics-specific hints}{91}{section.9.4}
\contentsline {subsection}{\numberline {9.4.1}Separate out imaginary-time calculation code}{91}{subsection.9.4.1}
\contentsline {subsection}{\numberline {9.4.2}Use an energy or momentum offset}{91}{subsection.9.4.2}
\contentsline {chapter}{\numberline {10}xsil2graphics2}{93}{chapter.10}
\contentsline {chapter}{\numberline {11}Developer Documentation}{95}{chapter.11}
\contentsline {section}{\numberline {11.1}Test scripts}{95}{section.11.1}
\contentsline {subsection}{\numberline {11.1.1}Testing element}{96}{subsection.11.1.1}
\contentsline {subsection}{\numberline {11.1.2}command\_line element}{96}{subsection.11.1.2}
\contentsline {subsection}{\numberline {11.1.3}input\_xsil\_file element}{96}{subsection.11.1.3}
\contentsline {subsection}{\numberline {11.1.4}xsil\_file element}{96}{subsection.11.1.4}
\contentsline {subsection}{\numberline {11.1.5}moment\_group element}{96}{subsection.11.1.5}
\contentsline {section}{\numberline {11.2}XMDS Documentation}{96}{section.11.2}
\contentsline {section}{\numberline {11.3}How to update \texttt {XMDS2} script validator (XML schema)}{98}{section.11.3}
\contentsline {section}{\numberline {11.4}How to introduce a new integrator Stepper into the XMDS2 environment}{101}{section.11.4}
\contentsline {section}{\numberline {11.5}Logical breakdown of XMDS2 Parsing Process}{102}{section.11.5}
\contentsline {subsection}{\numberline {11.5.1}Overall process for parsing XML file in XMDS2}{104}{subsection.11.5.1}
\contentsline {subsection}{\numberline {11.5.2}parser2.py parses XML file (Sub process 3)}{107}{subsection.11.5.2}
\contentsline {subsection}{\numberline {11.5.3}Pass file to XMDS2Parser to parse xmlDocument with parseXMLDocument() (Sub process 3.4)}{110}{subsection.11.5.3}
\contentsline {subsection}{\numberline {11.5.4}Parse Top Level Sequence elements (Sub process 3.4.11)}{111}{subsection.11.5.4}
\contentsline {subsection}{\numberline {11.5.5}Parse Integrate Element (Sub process 3.4.11.2)}{112}{subsection.11.5.5}
\contentsline {section}{\numberline {11.6}Directory layout}{113}{section.11.6}
\contentsline {subsection}{\numberline {11.6.1}XMDS2's code and templates}{113}{subsection.11.6.1}
\contentsline {subsection}{\numberline {11.6.2}Support files}{114}{subsection.11.6.2}
\contentsline {chapter}{\numberline {12}Licensing}{115}{chapter.12}
\contentsline {section}{\numberline {12.1}GNU General Public License}{115}{section.12.1}
\contentsline {section}{\numberline {12.2}GNU Free Documentation License}{118}{section.12.2}
\contentsline {chapter}{\numberline {13}News}{125}{chapter.13}
\contentsline {section}{\numberline {13.1}XMDS 2.2.1 ``XMDS2 is a game of two halves'' (September 30, 2014)}{125}{section.13.1}
\contentsline {section}{\numberline {13.2}XMDS 2.2.0 ``Out of cheese error'' (January 13, 2014)}{125}{section.13.2}
\contentsline {section}{\numberline {13.3}XMDS 2.1.4 ``Well if this isn't nice, I don't know what is'' (September 27, 2013)}{126}{section.13.3}
\contentsline {section}{\numberline {13.4}XMDS 2.1.3 ``Happy Mollusc'' (June 7, 2013)}{126}{section.13.4}
\contentsline {section}{\numberline {13.5}XMDS 2.1.2 ``Happy Mollusc'' (October 15, 2012)}{126}{section.13.5}
\contentsline {section}{\numberline {13.6}XMDS 2.1 ``Happy Mollusc'' (June 14, 2012)}{127}{section.13.6}
\contentsline {section}{\numberline {13.7}XMDS 2.0 ``Shiny!'' (September 13, 2010)}{127}{section.13.7}
\contentsline {chapter}{Index}{129}{section*.55}