<!--{{{-->
<link rel='alternate' type='application/rss+xml' title='RSS' href='index.xml' />
<!--}}}-->
Background: #fff
Foreground: #000
PrimaryPale: #8cf
PrimaryLight: #18f
PrimaryMid: #04b
PrimaryDark: #014
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88
/*{{{*/
body {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}

a {color:[[ColorPalette::PrimaryMid]];}
a:hover {background-color:[[ColorPalette::PrimaryMid]]; color:[[ColorPalette::Background]];}
a img {border:0;}

h1,h2,h3,h4,h5,h6 {color:[[ColorPalette::SecondaryDark]]; background:transparent;}
h1 {border-bottom:2px solid [[ColorPalette::TertiaryLight]];}
h2,h3 {border-bottom:1px solid [[ColorPalette::TertiaryLight]];}

.button {color:[[ColorPalette::PrimaryDark]]; border:1px solid [[ColorPalette::Background]];}
.button:hover {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::SecondaryLight]]; border-color:[[ColorPalette::SecondaryMid]];}
.button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::SecondaryDark]];}

.header {background:[[ColorPalette::PrimaryMid]];}
.headerShadow {color:[[ColorPalette::Foreground]];}
.headerShadow a {font-weight:normal; color:[[ColorPalette::Foreground]];}
.headerForeground {color:[[ColorPalette::Background]];}
.headerForeground a {font-weight:normal; color:[[ColorPalette::PrimaryPale]];}

.tabSelected {color:[[ColorPalette::PrimaryDark]];
	background:[[ColorPalette::TertiaryPale]];
	border-left:1px solid [[ColorPalette::TertiaryLight]];
	border-top:1px solid [[ColorPalette::TertiaryLight]];
	border-right:1px solid [[ColorPalette::TertiaryLight]];
}
.tabUnselected {color:[[ColorPalette::Background]]; background:[[ColorPalette::TertiaryMid]];}
.tabContents {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::TertiaryPale]]; border:1px solid [[ColorPalette::TertiaryLight]];}
.tabContents .button {border:0;}

#sidebar {}
#sidebarOptions input {border:1px solid [[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel {background:[[ColorPalette::PrimaryPale]];}
#sidebarOptions .sliderPanel a {border:none;color:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:hover {color:[[ColorPalette::Background]]; background:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:active {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::Background]];}

.wizard {background:[[ColorPalette::PrimaryPale]]; border:1px solid [[ColorPalette::PrimaryMid]];}
.wizard h1 {color:[[ColorPalette::PrimaryDark]]; border:none;}
.wizard h2 {color:[[ColorPalette::Foreground]]; border:none;}
.wizardStep {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];
	border:1px solid [[ColorPalette::PrimaryMid]];}
.wizardStep.wizardStepDone {background:[[ColorPalette::TertiaryLight]];}
.wizardFooter {background:[[ColorPalette::PrimaryPale]];}
.wizardFooter .status {background:[[ColorPalette::PrimaryDark]]; color:[[ColorPalette::Background]];}
.wizard .button {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryLight]]; border: 1px solid;
	border-color:[[ColorPalette::SecondaryPale]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryPale]];}
.wizard .button:hover {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Background]];}
.wizard .button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::Foreground]]; border: 1px solid;
	border-color:[[ColorPalette::PrimaryDark]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryDark]];}

.wizard .notChanged {background:transparent;}
.wizard .changedLocally {background:#80ff80;}
.wizard .changedServer {background:#8080ff;}
.wizard .changedBoth {background:#ff8080;}
.wizard .notFound {background:#ffff80;}
.wizard .putToServer {background:#ff80ff;}
.wizard .gotFromServer {background:#80ffff;}

#messageArea {border:1px solid [[ColorPalette::SecondaryMid]]; background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]];}
#messageArea .button {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::SecondaryPale]]; border:none;}

.popupTiddler {background:[[ColorPalette::TertiaryPale]]; border:2px solid [[ColorPalette::TertiaryMid]];}

.popup {background:[[ColorPalette::TertiaryPale]]; color:[[ColorPalette::TertiaryDark]]; border-left:1px solid [[ColorPalette::TertiaryMid]]; border-top:1px solid [[ColorPalette::TertiaryMid]]; border-right:2px solid [[ColorPalette::TertiaryDark]]; border-bottom:2px solid [[ColorPalette::TertiaryDark]];}
.popup hr {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::PrimaryDark]]; border-bottom:1px;}
.popup li.disabled {color:[[ColorPalette::TertiaryMid]];}
.popup li a, .popup li a:visited {color:[[ColorPalette::Foreground]]; border: none;}
.popup li a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border: none;}
.popup li a:active {background:[[ColorPalette::SecondaryPale]]; color:[[ColorPalette::Foreground]]; border: none;}
.popupHighlight {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
.listBreak div {border-bottom:1px solid [[ColorPalette::TertiaryDark]];}

.tiddler .defaultCommand {font-weight:bold;}

.shadow .title {color:[[ColorPalette::TertiaryDark]];}

.title {color:[[ColorPalette::SecondaryDark]];}
.subtitle {color:[[ColorPalette::TertiaryDark]];}

.toolbar {color:[[ColorPalette::PrimaryMid]];}
.toolbar a {color:[[ColorPalette::TertiaryLight]];}
.selected .toolbar a {color:[[ColorPalette::TertiaryMid]];}
.selected .toolbar a:hover {color:[[ColorPalette::Foreground]];}

.tagging, .tagged {border:1px solid [[ColorPalette::TertiaryPale]]; background-color:[[ColorPalette::TertiaryPale]];}
.selected .tagging, .selected .tagged {background-color:[[ColorPalette::TertiaryLight]]; border:1px solid [[ColorPalette::TertiaryMid]];}
.tagging .listTitle, .tagged .listTitle {color:[[ColorPalette::PrimaryDark]];}
.tagging .button, .tagged .button {border:none;}

.footer {color:[[ColorPalette::TertiaryLight]];}
.selected .footer {color:[[ColorPalette::TertiaryMid]];}

.error, .errorButton {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Error]];}
.warning {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryPale]];}
.lowlight {background:[[ColorPalette::TertiaryLight]];}

.zoomer {background:none; color:[[ColorPalette::TertiaryMid]]; border:3px solid [[ColorPalette::TertiaryMid]];}

.imageLink, #displayArea .imageLink {background:transparent;}

.annotation {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border:2px solid [[ColorPalette::SecondaryMid]];}

.viewer .listTitle {list-style-type:none; margin-left:-2em;}
.viewer .button {border:1px solid [[ColorPalette::SecondaryMid]];}
.viewer blockquote {border-left:3px solid [[ColorPalette::TertiaryDark]];}

.viewer table, table.twtable {border:2px solid [[ColorPalette::TertiaryDark]];}
.viewer th, .viewer thead td, .twtable th, .twtable thead td {background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::Background]];}
.viewer td, .viewer tr, .twtable td, .twtable tr {border:1px solid [[ColorPalette::TertiaryDark]];}

.viewer pre {border:1px solid [[ColorPalette::SecondaryLight]]; background:[[ColorPalette::SecondaryPale]];}
.viewer code {color:[[ColorPalette::SecondaryDark]];}
.viewer hr {border:0; border-top:dashed 1px [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::TertiaryDark]];}

.highlight, .marked {background:[[ColorPalette::SecondaryLight]];}

.editor input {border:1px solid [[ColorPalette::PrimaryMid]];}
.editor textarea {border:1px solid [[ColorPalette::PrimaryMid]]; width:100%;}
.editorFooter {color:[[ColorPalette::TertiaryMid]];}
.readOnly {background:[[ColorPalette::TertiaryPale]];}

#backstageArea {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::TertiaryMid]];}
#backstageArea a {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstageArea a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; }
#backstageArea a.backstageSelTab {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
#backstageButton a {background:none; color:[[ColorPalette::Background]]; border:none;}
#backstageButton a:hover {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstagePanel {background:[[ColorPalette::Background]]; border-color: [[ColorPalette::Background]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]];}
.backstagePanelFooter .button {border:none; color:[[ColorPalette::Background]];}
.backstagePanelFooter .button:hover {color:[[ColorPalette::Foreground]];}
#backstageCloak {background:[[ColorPalette::Foreground]]; opacity:0.6; filter:alpha(opacity=60);}
/*}}}*/
/*{{{*/
* html .tiddler {height:1%;}

body {font-size:.75em; font-family:arial,helvetica; margin:0; padding:0;}

h1,h2,h3,h4,h5,h6 {font-weight:bold; text-decoration:none;}
h1,h2,h3 {padding-bottom:1px; margin-top:1.2em;margin-bottom:0.3em;}
h4,h5,h6 {margin-top:1em;}
h1 {font-size:1.35em;}
h2 {font-size:1.25em;}
h3 {font-size:1.1em;}
h4 {font-size:1em;}
h5 {font-size:.9em;}

hr {height:1px;}

a {text-decoration:none;}

dt {font-weight:bold;}

ol {list-style-type:decimal;}
ol ol {list-style-type:lower-alpha;}
ol ol ol {list-style-type:lower-roman;}
ol ol ol ol {list-style-type:decimal;}
ol ol ol ol ol {list-style-type:lower-alpha;}
ol ol ol ol ol ol {list-style-type:lower-roman;}
ol ol ol ol ol ol ol {list-style-type:decimal;}

.txtOptionInput {width:11em;}

#contentWrapper .chkOptionInput {border:0;}

.externalLink {text-decoration:underline;}

.indent {margin-left:3em;}
.outdent {margin-left:3em; text-indent:-3em;}
code.escaped {white-space:nowrap;}

.tiddlyLinkExisting {font-weight:bold;}
.tiddlyLinkNonExisting {font-style:italic;}

/* the 'a' is required for IE, otherwise it renders the whole tiddler in bold */
a.tiddlyLinkNonExisting.shadow {font-weight:bold;}

#mainMenu .tiddlyLinkExisting,
	#mainMenu .tiddlyLinkNonExisting,
	#sidebarTabs .tiddlyLinkNonExisting {font-weight:normal; font-style:normal;}
#sidebarTabs .tiddlyLinkExisting {font-weight:bold; font-style:normal;}

.header {position:relative;}
.header a:hover {background:transparent;}
.headerShadow {position:relative; padding:4.5em 0 1em 1em; left:-1px; top:-1px;}
.headerForeground {position:absolute; padding:4.5em 0 1em 1em; left:0; top:0;}

.siteTitle {font-size:3em;}
.siteSubtitle {font-size:1.2em;}

#mainMenu {position:absolute; left:0; width:10em; text-align:right; line-height:1.6em; padding:1.5em 0.5em 0.5em 0.5em; font-size:1.1em;}

#sidebar {position:absolute; right:3px; width:16em; font-size:.9em;}
#sidebarOptions {padding-top:0.3em;}
#sidebarOptions a {margin:0 0.2em; padding:0.2em 0.3em; display:block;}
#sidebarOptions input {margin:0.4em 0.5em;}
#sidebarOptions .sliderPanel {margin-left:1em; padding:0.5em; font-size:.85em;}
#sidebarOptions .sliderPanel a {font-weight:bold; display:inline; padding:0;}
#sidebarOptions .sliderPanel input {margin:0 0 0.3em 0;}
#sidebarTabs .tabContents {width:15em; overflow:hidden;}

.wizard {padding:0.1em 1em 0 2em;}
.wizard h1 {font-size:2em; font-weight:bold; background:none; padding:0; margin:0.4em 0 0.2em;}
.wizard h2 {font-size:1.2em; font-weight:bold; background:none; padding:0; margin:0.4em 0 0.2em;}
.wizardStep {padding:1em 1em 1em 1em;}
.wizard .button {margin:0.5em 0 0; font-size:1.2em;}
.wizardFooter {padding:0.8em 0.4em 0.8em 0;}
.wizardFooter .status {padding:0 0.4em; margin-left:1em;}
.wizard .button {padding:0.1em 0.2em;}

#messageArea {position:fixed; top:2em; right:0; margin:0.5em; padding:0.5em; z-index:2000; _position:absolute;}
.messageToolbar {display:block; text-align:right; padding:0.2em;}
#messageArea a {text-decoration:underline;}

.tiddlerPopupButton {padding:0.2em;}
.popupTiddler {position: absolute; z-index:300; padding:1em; margin:0;}

.popup {position:absolute; z-index:300; font-size:.9em; padding:0; list-style:none; margin:0;}
.popup .popupMessage {padding:0.4em;}
.popup hr {display:block; height:1px; width:auto; padding:0; margin:0.2em 0;}
.popup li.disabled {padding:0.4em;}
.popup li a {display:block; padding:0.4em; font-weight:normal; cursor:pointer;}
.listBreak {font-size:1px; line-height:1px;}
.listBreak div {margin:2px 0;}

.tabset {padding:1em 0 0 0.5em;}
.tab {margin:0 0 0 0.25em; padding:2px;}
.tabContents {padding:0.5em;}
.tabContents ul, .tabContents ol {margin:0; padding:0;}
.txtMainTab .tabContents li {list-style:none;}
.tabContents li.listLink { margin-left:.75em;}

#contentWrapper {display:block;}
#splashScreen {display:none;}

#displayArea {margin:1em 17em 0 14em;}

.toolbar {text-align:right; font-size:.9em;}

.tiddler {padding:1em 1em 0;}

.missing .viewer,.missing .title {font-style:italic;}

.title {font-size:1.6em; font-weight:bold;}

.missing .subtitle {display:none;}
.subtitle {font-size:1.1em;}

.tiddler .button {padding:0.2em 0.4em;}

.tagging {margin:0.5em 0.5em 0.5em 0; float:left; display:none;}
.isTag .tagging {display:block;}
.tagged {margin:0.5em; float:right;}
.tagging, .tagged {font-size:0.9em; padding:0.25em;}
.tagging ul, .tagged ul {list-style:none; margin:0.25em; padding:0;}
.tagClear {clear:both;}

.footer {font-size:.9em;}
.footer li {display:inline;}

.annotation {padding:0.5em; margin:0.5em;}

* html .viewer pre {width:99%; padding:0 0 1em 0;}
.viewer {line-height:1.4em; padding-top:0.5em;}
.viewer .button {margin:0 0.25em; padding:0 0.25em;}
.viewer blockquote {line-height:1.5em; padding-left:0.8em;margin-left:2.5em;}
.viewer ul, .viewer ol {margin-left:0.5em; padding-left:1.5em;}

.viewer table, table.twtable {border-collapse:collapse; margin:0.8em 1.0em;}
.viewer th, .viewer td, .viewer tr,.viewer caption,.twtable th, .twtable td, .twtable tr,.twtable caption {padding:3px;}
table.listView {font-size:0.85em; margin:0.8em 1.0em;}
table.listView th, table.listView td, table.listView tr {padding:0 3px 0 3px;}

.viewer pre {padding:0.5em; margin-left:0.5em; font-size:1.2em; line-height:1.4em; overflow:auto;}
.viewer code {font-size:1.2em; line-height:1.4em;}

.editor {font-size:1.1em;}
.editor input, .editor textarea {display:block; width:100%; font:inherit;}
.editorFooter {padding:0.25em 0; font-size:.9em;}
.editorFooter .button {padding-top:0; padding-bottom:0;}

.fieldsetFix {border:0; padding:0; margin:1px 0px;}

.zoomer {font-size:1.1em; position:absolute; overflow:hidden;}
.zoomer div {padding:1em;}

* html #backstage {width:99%;}
* html #backstageArea {width:99%;}
#backstageArea {display:none; position:relative; overflow: hidden; z-index:150; padding:0.3em 0.5em;}
#backstageToolbar {position:relative;}
#backstageArea a {font-weight:bold; margin-left:0.5em; padding:0.3em 0.5em;}
#backstageButton {display:none; position:absolute; z-index:175; top:0; right:0;}
#backstageButton a {padding:0.1em 0.4em; margin:0.1em;}
#backstage {position:relative; width:100%; z-index:50;}
#backstagePanel {display:none; z-index:100; position:absolute; width:90%; margin-left:3em; padding:1em;}
.backstagePanelFooter {padding-top:0.2em; float:right;}
.backstagePanelFooter a {padding:0.2em 0.4em;}
#backstageCloak {display:none; z-index:20; position:absolute; width:100%; height:100px;}

.whenBackstage {display:none;}
.backstageVisible .whenBackstage {display:block;}
/*}}}*/
/***
StyleSheet for use when a translation requires any css style changes.
This StyleSheet can be used directly by languages such as Chinese, Japanese and Korean which need larger font sizes.
***/
/*{{{*/
body {font-size:0.8em;}
#sidebarOptions {font-size:1.05em;}
#sidebarOptions a {font-style:normal;}
#sidebarOptions .sliderPanel {font-size:0.95em;}
.subtitle {font-size:0.8em;}
.viewer table.listView {font-size:0.95em;}
/*}}}*/
/*{{{*/
@media print {
#mainMenu, #sidebar, #messageArea, .toolbar, #backstageButton, #backstageArea {display: none !important;}
#displayArea {margin: 1em 1em 0em;}
noscript {display:none;} /* Fixes a feature in Firefox 1.5.0.2 where print preview displays the noscript content */
}
/*}}}*/
<!--{{{-->
<div class='header' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>
<div class='headerShadow'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
<div class='headerForeground'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
</div>
<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>
<div id='sidebar'>
<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>
<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>
</div>
<div id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
</div>
<!--}}}-->
<!--{{{-->
<div class='toolbar' macro='toolbar [[ToolbarCommands::ViewToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date'></span> (<span macro='message views.wikified.createdPrompt'></span> <span macro='view created date'></span>)</div>
<div class='tagging' macro='tagging'></div>
<div class='tagged' macro='tags'></div>
<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
<!--}}}-->
<!--{{{-->
<div class='toolbar' macro='toolbar [[ToolbarCommands::EditToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='editor' macro='edit title'></div>
<div macro='annotations'></div>
<div class='editor' macro='edit text'></div>
<div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser excludeLists'></span></div>
<!--}}}-->
To get started with this blank [[TiddlyWiki]], you'll need to modify the following tiddlers:
* [[SiteTitle]] & [[SiteSubtitle]]: The title and subtitle of the site, as shown above (after saving, they will also appear in the browser title bar)
* [[MainMenu]]: The menu (usually on the left)
* [[DefaultTiddlers]]: Contains the names of the tiddlers that you want to appear when the TiddlyWiki is opened
You'll also need to enter your username for signing your edits: <<option txtUserName>>
These [[InterfaceOptions]] for customising [[TiddlyWiki]] are saved in your browser

Your username for signing your edits. Write it as a [[WikiWord]] (eg [[JoeBloggs]])

<<option txtUserName>>
<<option chkSaveBackups>> [[SaveBackups]]
<<option chkAutoSave>> [[AutoSave]]
<<option chkRegExpSearch>> [[RegExpSearch]]
<<option chkCaseSensitiveSearch>> [[CaseSensitiveSearch]]
<<option chkAnimate>> [[EnableAnimations]]

----
Also see [[AdvancedOptions]]
<<importTiddlers>>
!!Chapter 1: Review of Thermodynamics

In understanding Thermodynamics and its relationship with Statistical Mechanics, it is important to have an adequate understanding of their molecular or microscopic underpinnings. The animations on this page are Molecular Dynamics simulations of two different macroscopic phenomena: mixing and phase change.
!!! Mixing
The following movie shows a microscopic view of a two component system (red and blue spheres) as it mixes spontaneously. Before the beginning of the simulation, both components are held separate by a partition. The system is in equilibrium. At $t=0$ the partition is removed, the initial configuration is not equilibrium, and the two species mix through interdiffusion until they reach a new equilibrium state.

Think about a coarse grained description of the process shown in terms of composition variables, how the coarse grained variables evolve in time, and what happens to the Entropy during the process. 

<html>
<iframe src="http://www.youtube.com/embed/tEFHkcx2cz0"
  width="450" height="315" frameborder="0" allowfullscreen/>
</html>

!!! Phase Change

The following two animations concern phase change. In the first, the system is initially in a crystalline phase. At $t=0$ the temperature is raised, and the lattice spontaneously melts. Think again on how to set up a coarse grained description (order parameter here), how it changes as a function of time in phase space, and what can you say about the entropy of the system.

<html>
<iframe src="http://www.youtube.com/embed/NQhjAtCKghE"
  width="450" height="315" frameborder="0" allowfullscreen/>
</html>

The following example concerns another type of phase change: phase separation or un-mixing. When to components are initially mixed, but they separate in equilibrium, a process of un-mixing follows. The animation presents the separation of oil and water.
<html>
<iframe src="http://www.youtube.com/embed/xcMSHy3CqXA"
  width="450" height="315" frameborder="0" allowfullscreen/>
</html>

!!! Biology: Protein Folding
A Monte Carlo simulation of a coarsed grained model describing the folding of the protein ~GB1. The search in the protein configuration space is carried out with the Metropolis algorithm and an energy function that is largely empirical. It treats the aminoacids in the protein as interaction centers. The forces between the centers are largely empirical with coefficients determined by fits to know structures in the protein data bases.

<html>
<iframe src="http://www.youtube.com/embed/swEc_sUVz5I"
  width="450" height="315" frameborder="0" allowfullscreen/>
</html>
 
<html>
<iframe src="http://www.youtube.com/embed/meNEUTn9Atg"
  width="450" height="315" frameborder="0" allowfullscreen/>
</html>
!!!Central Limit Theorem
* Interactive illustration of the Central Limit Theorem. You will see a Gaussian distribution emerge by [[casting dice|http://www.math.csusb.edu/faculty/stanton/probstat/clt.html]] (Java applet). On recent versions of common browsers use [[this|http://www.anydice.com]] instead.
* In order to discuss independence of parts and macroscopic behavior, we will look at a sequence of configurations of the [[Ising model|http://physics.ucsc.edu/~peter/java/ising/keep/ising.html]].
!!! Electron microscope movie of a Si surface

Here you will see as contours the height of the interface as a function of position ($h(x)$), and how it changes as a function of time as Si desorbs.
<html>
<iframe src="http://www.youtube.com/embed/C3-Rvtw8RuM"
  width="450" height="315" frameborder="0" allowfullscreen/>
</html>

!!! Simulations of surface roughening

<html>
<iframe src="http://www.youtube.com/embed/BMIVXc-tNlY"
  width="450" height="315" frameborder="0" allowfullscreen/>
</html>

!!! Electrode surface roughening and battery failure

<html>
<iframe src="http://www.youtube.com/embed/H2TSVPyFC8c"
  width="450" height="315" frameborder="0" allowfullscreen/>
</html>
* Equilibrium [[Ising model applet|http://physics.ucsc.edu/~peter/java/ising/keep/ising.html]].
* [[Mandelbrot set|http://www.ph.biu.ac.il/~rapaport/java-apps/mandel.html]].
* Trip through a d=3 [[Sierpinski gasket|https://www.youtube.com/watch?v=P5EkdJRtF-4]].

!!! Scale invariance in the Ising model at the critical point

Single image:
<html>
<iframe src="http://www.youtube.com/embed/lQxD1PinDbs"
  width="450" height="315" frameborder="0" allowfullscreen/>
</html>

and now the kinetic evolution at different levels of resolution

<html>
<iframe src="http://www.youtube.com/embed/PlvisNlAcfo"
  width="450" height="315" frameborder="0" allowfullscreen/>
</html>
* [[Chapter 1: Review of Thermodynamics|Animations - Chapter 1]].
* [[Chapter 2: Review of Statistical Mechanics|Animations - Chapter 2]].
* [[Chapter 6: Surface fluctuations|Animations - Chapter 6]].
* [[Chapter 8: Phase transitions and critical phenomena|Animations - Chapter 8]].
!! Chapter 1. Review of Thermodynamics
Additional background for the topics summarized in class.
* Introduction and basic principles, Sekerka, pages 3-8, Schwabl pages 1-3.
* A coarse grained description of a physical system (we will return to this later in Chapter 2), Schwabl pages 25-31.
* Second Law of Thermodynamics: Sekerka, pages 31-34.
* Review of basic Thermodynamics, Schwabl pages 75-90, and 120-124.
* Euler, ~Gibbs-Duhem equations, Sekerka, pages 59-61.
* Legendre transforms, Sekerka pages 67-71.
* Equilibrium and Thermodynamic Potentials, Sekerka, pages 79-93.
* Stability of thermodynamic systems, Sekerka, pages 95-107.

Supplementary notes have been uploaded that cover:
* A [[few examples of thermodynamic manipulation|http://homepages.spa.umn.edu/~vinals/classes/phys5201/notes/free_expansion.pdf]] , and the case of a free expansion. 
* A derivation of the [[Euler and Gibbs-Duhem|http://homepages.spa.umn.edu/~vinals/classes/phys5201/notes/GibbsDuhem.pdf]] equations. 
* [[Ideal mixtures|http://homepages.spa.umn.edu/~vinals/classes/phys5201/notes/ideal_mixture.pdf]].

!!Chapter 2. Review of Statistical Mechanics.

Suggested reading guide.
* [[Class notes|http://homepages.spa.umn.edu/~vinals/classes/phys5201/notes/phys5201_notes.pdf]]. Chapters 1 and 2. We will follow the notes in class.
* Schwabl: Probability theory, pages 4-9, 14-18.
* Also please look at the simulation tools in [[Animations - Chapter 2]].

Additional notes have been uploaded:
* A critical discussion of the basic assumptions underlying the Statistical Mechanical description of macroscopic systems. It is [[Chapter 26|http://nb.mit.edu/f/25147]] of the book "Statistical Mechanics" by S.K. Ma. 

!!Chapter 3. Basic rules of calculation.
A suggested reading guide from the book by Schwabl is as follows:
* Equilibrium ensembles, pages 25-32, 34-45.
* Gibbs Entropy. Schwabl, pages 61-63.
* Other ensembles. Schwabl, pages 63-68.
* Fluctuations and thermodynamic stability. Schwabl pages 89-90.

!!Chapter 4. Ideal Systems
* Ideal Gas. Schwabl, pages 46-48.
* Virial Theorem and Equipartition. Schwabl, pages 54-55.

!!Chapter 5. Quantum ideal systems
* Ideal quantum systems, quantum statistics and the classical limit. Schwabl. pages 169-176.
* Blackbody radiation. Schwabl, pages 197-205.
* Lattice vibrations. Schwabl, pages 206-213. [[Notes on normal modes and their quantizattion|http://homepages.spa.umn.edu/~vinals/tspot_files/phys5201/2017/lattice_vibration_phonons.pdf]].
* Free electron gas. Schwabl, pages 176-188.
* ~Bose-Einstein condensation. Schwabl, pages 190-197.

!! Chapter 6. Fluctuations
*  [[Class notes|http://homepages.spa.umn.edu/~vinals/classes/phys5201/notes/phys5201_notes.pdf]], chapters 4.3 and 4.4 are an introduction to fluctuations within thermodynamics.
* Statistical Mechanics treatment of fluctuations in the case of a fluctuating interface. [[Class notes|http://homepages.spa.umn.edu/~vinals/classes/phys5201/notes/phys5201_notes.pdf]], chapter 5. We will cover this chapter in its entirety. It is probably a first example for you of several important concepts in this semester:
** A particular system in which fluctuations are not negligible, in fact they are dominant.
** A "field theory calculation". The states are given by continuum functions and the partition function is therefore a functional integral.
** Anomalously large fluctuations tied to a broken symmetry.
** A few examples and movies have been uploaded in [[Chapter 6: Surface fluctuations|Animations - Chapter 6]].
* Scattering experiments to measure correlation functions.  [[Class notes|http://homepages.spa.umn.edu/~vinals/classes/phys5201/notes/phys5201_notes.pdf]], chapter 7.

!! Chapter 7. Fluctuations and broken symmetry.
*  [[Class notes|http://homepages.spa.umn.edu/~vinals/classes/phys5201/notes/phys5201_notes.pdf]], chapter 6. 

!! Chapter 8. Phase transitions and critical phenomena.
* [[Class notes|http://homepages.spa.umn.edu/~vinals/classes/phys5201/notes/phys5201_notes.pdf]], chapter 9.
* See supplementary material for an Ising model applet.
* [[Class notes|http://homepages.spa.umn.edu/~vinals/classes/phys5201/notes/phys5201_notes.pdf]], chapter 10.
* Scaling Theory.  [[Class notes|http://homepages.spa.umn.edu/~vinals/classes/phys5201/notes/phys5201_notes.pdf]], chapter 11.
[[Home]]
[img(100%+,auto)[http://homepages.spa.umn.edu/~vinals/images/PANO_20130902_180940_rotated2.jpg]]

!General Information
* Please read the [[Syllabus]].
* This site contains .pdf files which are notes related to class under [[Class Notes]].
* This site also contains links to animations, simulations, and papers in the literature meant to aid you in studying the class material. They can be found under [[Supplementary Material]].
!!!! Homeworks
* [[Homework 1 2017]]. Due on Monday, September 25, 2017.
* [[Homework 2, 2017]]. Due on Monday, October 9, 2017.
* [[Homework 3, 2017]]. Due on Wednesday, October 18, 2017. Solutions: [[Problem 1|http://homepages.spa.umn.edu/~vinals/tspot_files/phys5201/2017/hwk3_1_solution.pdf]], [[Problem 2|http://homepages.spa.umn.edu/~vinals/tspot_files/phys5201/2017/hwk3_2_solution.pdf]], [[Problem 3|http://homepages.spa.umn.edu/~vinals/tspot_files/phys5201/2017/hwk3_3_solution.pdf]].
{{justifyright{
''Due Tuesday, September 29, 2015''
}}}

@@color(blue):Important note:@@ The homework may be submitted by email to the TA (Chris Conklin), or in hardcopy either to him or the instructor directly.

<hr>

# For a low density monoatomic gas, the equation of state slightly deviates from that of the ideal gas, and is given by $$ p = \frac{NRT}{V} \left[ 1 + \frac{N}{V} g(T) \right],
$$
where $g(T)$ is an unknown function of temperature. For such a gas, the heat capacity will have a correction to its ideal gas value. We can write the heat capacity at constant volume as, $$ C_{V} = \frac{3}{2} NR - \frac{N^{2}R}{V} f(T).
$$ where $f(T)$ is another unknown function of temperature.
## Find $f(T)$ as a function of $g(T)$ in order for the two equations to be thermodynamically consistent.
##  Find $C_{p}$.
// Note:// Depending on how you solve this problem, you may need the following Maxwell relation: $\left( \partial S / \partial V \right)_{NT} = \left( \partial p / \partial T \right)_{NV}$. Also, it may help to consider the consequences of $\partial^{2}S/\partial V \partial T = \partial^{2} S/\partial T \partial V$ (thermodynamic consistency; the entropy change is independent of the path).
# Find the three equations of state for a fluid with the fundamental equation $$ U = \left( \frac{v_{0}\theta}{R^{2}} \right) \frac{S^{3}}{NV},
$$
where $v_{0}, \theta$ and $R$ are three constants. Show that the equations of state are homogeneous of degree zero (i.e., that $T$, $p$, and $\mu$ are intensive parameters). Next find $\mu$ as a function of $T,V$ and $N$. Third, show by a diagram (drawn to arbitrary scale) the dependence of the pressure on volume for fixed temperature. Draw two such isotherms corresponding to two values of the temperature, and indicate which isotherm corresponds to the higher temperature.
# The phase diagram of a solution of A in B, at a pressure of 1 atm, has a coexistence region in the $(x,T)$ plane (e.g., $x_{A} = N_{A}/N$ is a fraction with $N = N_{A}+N_{B}$ and $T$ temperature). The upper bounding curve of the two phase region can be represented by $$ 
T = T_{0} - (T_{0}-T_{1}) x_{A}^{2}. $$ The lower bounding curve can be represented by $$
T = T_{0} - (T_{0}-T_{1}) x_{A}(2-x_{A}).$$ A container with the same number of particles of A and B is brought to its boling temperature. What is the composition of the vapor as it begins to boil off ? Does boiling tend to increase or decrease the fraction of A in the remaining liquid ? Show that if a small fraction of the liquid $-dN/N$ is boiled off, the change in the fraction of the remaining liquid is, $$
dx_{A} = - \left[ \left(2x_{A} - x_{A}^{2} \right)^{1/2} - x_{A} \right] \left( \frac{-dN}{N} \right).$$


[[pdf version|http://homepages.spa.umn.edu/~vinals/tspot_files/phys5201/2015/hwk1.pdf]]
{{justifyright{
''Due Monday, September 25, 2017''
}}}

!!! Numerical example of the Central Limit Theorem
Write a small computer program (in the language of your choice) that generates a sequence of random numbers $r_{i}, i=1, \ldots N$. The easiest choice in any language is to generate random numbers uniformly distributed between $[0,1)$. Construct the variable $X_{N}$ defined in terms of the random sequence as, $$ X_{N} = \sum_{i=1}^{N} r_{i}
$$
* Estimate the average over sequences $\langle X_{N} \rangle$. Does it differ from the exact value that would follow from the definition of $X_{N}$ ? Why ? How would this difference depend on $N$ ?
* Given the definition $\Delta X_{N} = X_{N} - \langle X_{N} \rangle$, plot $\langle \Delta X_{N}^{2} \rangle /
\langle X_{N} \rangle^{2} $ vs. $1/N$, and $\langle \Delta X_{N}^{4} \rangle / 3 \langle \Delta X_{N}^{2} \rangle^{2}$ vs. $N$. Comment on the results.

!!! Binomial distribution
Toss a coin many times to various heights above your hand starting with heads. Don't get carried away. Use a graph to compare the histogram of $n$, the number of heads that you obtain after $N$ tosses, to $$ 
p_{n} = 2^{-N} \left( \begin{array}{c} N \\ n \end{array} \right) =
\frac{1}{2^N} \frac{N!}{(N-n)! n!}.
$$
for different heights.  Discuss your results.

!!! Poisson and Gaussian distributions
Let us generalize the previous problem to obtain to two widely used probability distributions for independent, random events: the Poisson and Gaussian distributions. Let us start with the so-called binomial distribution $$
p_{n} = \left( \begin{array}{c} N \\ n \end{array} \right) q^{n} (1-q)^{N-n},
$$
where $N$ is the number of observations or "trials", and $q$ is the probability of each individual observation outcome. Discrete events follow this distribution when they are independent and each event happens with probability $q$. Hence $q^{n}$ is the probability of $n$ independent successes, $(1-q)^{N-n}$ is the probability of the remaining being "failures", and the combinatorial factor accounts for the $N$ over $n$ ways in which $n$ successes can occur in $N$ trials. In the example of tossing a coin, $q = 1/2$.
# Find the characteristic function of the binomial distribution, $$
G(k) = \sum e^{ikn} p_{n} $$

# Define $\lambda = Nq$ and obtain the limit $N \rightarrow \infty$ $ q \rightarrow 0$ with fixed $\lambda$ of $G(k)$ (a very large number of "rare" events (of very small probability)).
# Find the characteristic function of the Poisson distribution with average $\lambda$ defined as $$
p_{n} = \frac{\lambda^{n}}{n!} e^{-\lambda}$$ Compare with the result of (2) and discuss.
# A different $N \rightarrow \infty$ limit can be taken with $q$ ''fixed'' instead; the limit is a Gaussian distribution of average $Nq$. For simplicity, compute the limit $N \rightarrow \infty$ of $p_{n}$ of the question about coin tosses, and show it is a Gaussian of average $N/2$ and variance $N/4$.

!!! Probability of equilibrium fluctuations
At constant temperature $T$, the probability of observing a system at a given energy state $E_{\nu}$ is $p_{\nu} = {\rm exp}(- \beta E_{v})/Z$, with $\beta = 1/k_{B}T$, and $Z$ a normalization constant. If we now consider the subset of states that all have the same energy $E$, so that there are $W(E)$ such distinct states with the same energy, then the probability of observing the system having an energy $E$ is $$
p(E) = \frac{1}{Z} W(E) e^{- \beta E} = \frac{1}{Z} e^{\ln W(E) - \beta E},
$$
imagining that we have summed $p_{\nu}$ over all the states $\nu$ that have an energy $E$. We wish to show that the probability distribution $p(E)$ is very narrow and centered around $\langle E \rangle$, the average value of $E$. In other words, observing values of $E$ other than $\langle E \rangle$ is extremely rare.
# Estimate $p(E)$ around its average by expanding $\ln p(E)$ in Taylor series around $\langle E \rangle$ up to second order in $E-\langle E \rangle$. Show that the first order term is zero, and express the second order term as a function of the heat capacity $C_{V}$. Remember Boltzmann formula $S(E) = k_{B} \ln W(E)$.
# Use this expression to estimate the relative probability ($p(E)/p( \langle E  \rangle)$) of observing a fluctuation as small as $10^{-6} \langle E \rangle$ for an ideal gas of $N = 0.001$ mol.
{{justifyright{
''Due Thursday, October 8, 2015''
}}}
# This is a numerical test to see the emergence of the Central Limit Theorem. Write a small computer program (in the language of your choice) that generates a sequence of random numbers $X_{i}, i=1, \ldots N$. The easiest choice in any language is to generate random numbers uniformly distributed between $[0,1)$. Construct the variable $X_{N}$ defined in terms of the random sequence as, $$ X_{N} = \sum_{i=1}^{N} X_{i}
$$
## Estimate $\langle X_{N} \rangle$. Does it differ from the exact value that follows from the equation above ? Why ? How would this difference depend on $N$ ?
## Given the definition $\Delta X_{N} = X_{N} - \langle X_{N} \rangle$, plot $\langle \Delta X_{N}^{2} \rangle /
\langle X_{N} \rangle^{2} $ vs. $1/N$, and $\langle \Delta X_{N}^{4} \rangle / 3 \langle \Delta X_{N}^{2} \rangle^{2}$ vs. $N$. Comment on the results.

# Toss a coin many times to various heights above your hand starting with heads. Don't get carried away. Use a graph to compare the histogram of $n$, the number of heads that you obtain after $N$ tosses, to $$ 
p_{n} = 2^{-N} \left( \begin{array}{c} N \\ n \end{array} \right) =
\frac{1}{2^N} \frac{N!}{(N-n)! n!}.
$$
for different heights.  Discuss your results.
# Let us generalize the previous problem to obtain to two widely used probability distributions for independent, random events: the Poisson and Gaussian distributions.<br> Let us start with the so-called binomial distribution $$
p_{n} = \left( \begin{array}{c} N \\ n \end{array} \right) q^{n} (1-q)^{N-n},
$$
where $N$ is the number of observations or "trials", and $q$ is the probability of each individual observation outcome. Discrete events follow this distribution when they are independent and each event happens with probability $q$. Hence $q^{n}$ is the probability of $n$ independent successes, $(1-q)^{N-n}$ is the probability of the remaining being "failures", and the combinatorial factor accounts for the $N$ over $n$ ways in which $n$ successes can occur in $N$ trials. In the example of tossing a coin, $q = 1/2$.
## Find the characteristic function of the binomial distribution, $$
G(k) = \sum e^{ikn} p_{n}$$

##Define $\lambda = Nq$ and obtain the limit $N \rightarrow \infty$ $ q \rightarrow 0$ with fixed $\lambda$ of $G(k)$ (a very large number of "rare" events (of very small probability)).
## Find the characteristic function of the Poisson distribution with average $\lambda$ defined as $$
p_{n} = \frac{\lambda^{n}}{n!} e^{-\lambda}
$$
Compare with the result of (b) and discuss.
## A different $N \rightarrow \infty$ limit can be taken with $q$ ''fixed'' instead; the limit is a Gaussian distribution of average $Nq$. For simplicity, compute the limit $N \rightarrow \infty$ of $p_{n}$ of question 2, and show it is a Gaussian of average $N/2$ and variance $N/4$.
# At constant temperature $T$, the probability of observing a system at a given energy state $E_{\nu}$ is $p_{\nu} = {\rm exp}(- \beta E_{v})/Z$, with $\beta = 1/k_{B}T$, and $Z$ a normalization constant. If we now consider the subset of states that all have the same energy $E$, so that there are $W(E)$ such distinct states with the same energy, then the probability of observing the system having an energy $E$ is $$
p(E) = \frac{1}{Z} W(E) e^{- \beta E} = \frac{1}{Z} e^{\ln W(E) - \beta E},
$$
imagining that we have summed $p_{\nu}$ over all the states $\nu$ that have an energy $E$. We wish to show that the probability distribution $p(E)$ is very narrow and centered around $\langle E \rangle$, the average value of $E$. In other words, observing values of $E$ other than $\langle E \rangle$ is extremely rare.
## Estimate $p(E)$ around its average by expanding $\ln p(E)$ in Taylor series around $\langle E \rangle$ up to second order in $E-\langle E \rangle$. Show that the first order term is zero, and express the second order term as a function of the heat capacity $C_{V}$. Remember Boltzmann formula $S(E) = k_{B} \ln W(E)$.
## Use this expression to estimate the relative probability ($p(E)/p( \langle E  \rangle)$) of observing a fluctuation as small as $10^{-6} \langle E \rangle$ for an ideal gas of $N = 0.001$ mol.
# A system is composed of two harmonic oscillators, each of natural frequency $\omega_{0}$, and having permissible energies $(n+1/2) \hbar \omega_{0}$, where $n$ is any non-negative integer.  The total energy of the system is $E'=n'\hbar \omega_{0}$, where $n'$ is a positive integer.
## How many microstates are available to the system ? What is the entropy of the system ? 
## A second system is also composed of two harmonic oscillators, each of natural frequency $2\omega_{0}$. The total energy of this system is $E''=n'' \hbar \omega_{0}$, where $n''$ is an even integer.
### How many microstate are available to this system ?
### What is the entropy of a system composed of the two preceeding subsystems (separated and enclosed by a totally restrictive wall) ? Express the entropy as a function of $E'$ and $E''$.

[[pdf version|http://homepages.spa.umn.edu/~vinals/tspot_files/phys5201/2015/hwk2.pdf]]
{{justifyright{
''Due Monday, October 9, 2017''
}}}
!!! Question 1. Estimating the Entropy by the method of coincidences
This is a simple and intuitive method to estimate entropies (although it is not very efficient). It is described [[here|http://homepages.spa.umn.edu/~vinals/tspot_files/Ma_concidences-rotated270.pdf]]. Write a short computer program in any language that you know  (MATLAB, Mathematica, Python, C, Java, ... if you have never written a program, please talk to me) that uses the method of coincidences to:
# estimate the area of an annular region of outer radius 10 and inner radius 5.
# obtain the entropy of the two level system discussed in class with $N = 50$ (not a large number !), and compare the result with the exact combinatorial result given in class. Start with low level energies $m = 1, 2, 3$ and discuss the results. Why is it more and more difficult to obtain an accurate estimate as $m$ increases ?
!!! Question 2
Consider a set of independent and quatum harmonic oscillators such that the energy levels of each oscillator is discrete and given by
$$
\epsilon_{k} = \left( k + \frac{1}{2} \right) h \nu, \quad k=0,1,2 \ldots,
$$
where $h$ is Planck's constant, and $\nu$ the frequency of the oscillator.

# Show that the single particle partition function $Z_{1} = \sum_{k}  e^{-\beta \epsilon_{k}}$ is given by, $$
Z_{1} = \frac{e^{-h\nu/2k_{B}T}}{1-e^{-h\nu/k_{B}T}}.
$$

# Define a characteristic temperature of the oscillator through $k_{B} \theta = h \nu$, and calculate the value of $\theta$ for a frequency in the infrared region of the electromagnetic spectrum (say $\nu = 10^{13}Hz$).
# Calculate the fractional occupation number of the energy levels $<n_{k}>/<N>$. Obtain specific values of this ratio for $T=\theta$, and for the lowest energy levels $k=0, 1, 2,$ and 3.
# Calculate the probability that the oscillator is in a state of odd quantum number ($n=1, 3, 5 ...$) at temperature $T$.
# Obtain the internal energy $<E>$ and the heat capacity at constant volume. Study the limits of both properties as $T \ll \theta$ and $T \gg \theta$.
!!! Question 3
Consider a system of $N$ classical and distinguishable, harmonic oscillators. Their energy is,
$$
E = \sum_{i=1}^{N} \frac{p_{i}^{2}}{2m} + \sum_{i=1}^{N} \frac{K}{2}
| \vec{r}_{i} - \vec{r}_{i}^{\;(0)} |^{2}.
$$
where $\vec{r}_{i}^{\;(0)}$ is the equilibrium position of the $i$-th oscillator particle.
# Calculate the canonical partition function of this system of classical oscillators.
# Show that this result agrees with the quantum mechanical calculation in the limit of high temperatures. Recall that $\nu = (1/2\pi) \sqrt{K/m}$
!!! Question 4
Consider the following approximate model of a liquid: interactions between molecules are neglected except that all molecules experience a constant binding energy $- \eta$ that confines their motion to a volume $v_{0}$ per particle.

# Show that for a classical liquid of $N$ indistinguishable molecules, the partition function is, $$
Z_{L} = \frac{1}{N_{L}!} \left[ N_{L} v_{0} e^{\beta \eta} Z_{p}
  \right]^{N_{L}},
$$
where $Z_{p}$ denotes the ideal gas contribution arising from the integral over momenta,$$
Z_{p} = \frac{1}{h^{3}} \int d^{3}p e^{-\beta p^{2}/2m}.
$$

# Calculate the chemical potential of the liquid $\mu_{L}$ and of a vapor phase $\mu_{G}$ assumed to be an ideal gas.
# At coexistence between the liquid and solid phases, $\mu_{L} = \mu_{G}$. Find the pressure (vapor pressure as it is called) as a function of temperature at coexistence.
!!! Suggested reading (no need to submit any responses)
Chapter 11 of William Feller, "An Introduction to Probability Theory and Its Applications" [[here|http://homepages.spa.umn.edu/~vinals/tspot_files/feller_statistics-rotated90.pdf]] discusses in Section 5 the differences between ~Maxwell-Boltzmann, ~Bose-Einstein and ~Fermi-Dirac statistics. Consider:
# How does Quantum Mechanics enter the discussion about the differences ?
# Consider the example of page 42. Why misprints in a book would obey ~Fermi-Dirac statistics ?
{{justifyright{
''Due Thursday, October 20, 2015''
}}}

!!! Question 1
Consider a set of independent and classical harmonic oscillators such that the energy levels of each oscillator is discrete and given by
$$
\epsilon_{k} = \left( k + \frac{1}{2} \right) h \nu, \quad k=0,1,2 \ldots,
$$
where $h$ is Planck's constant, and $\nu$ the frequency of the oscillator.

# Show that the single particle partition function $Z_{1} = \sum_{k}  e^{-\beta \epsilon_{k}}$ is given by, $$
Z_{1} = \frac{e^{-h\nu/2k_{B}T}}{1-e^{-h\nu/k_{B}T}}.
$$

# Define a characteristic temperature of the oscillator through $k_{B} \theta = h \nu$, and calculate the value of $\theta$ for a frequency in the infrared region of the electromagnetic spectrum (say $\nu = 10^{13}Hz$).
# Calculate the fractional occupation number of the energy levels $<n_{k}>/<N>$. Obtain specific values of this ratio for $T=\theta$, and for the lowest energy levels $k=0, 1, 2,$ and 3.
# Calculate the probability that the oscillator is in a state of odd quantum number ($n=1, 3, 5 ...$) at temperature $T$.
# Obtain the internal energy $<E>$ and the heat capacity at constant volume. Study the limits of both properties as $T \ll \theta$ and $T \gg \theta$.

!!! Question 2
Consider the following approximate model of a liquid: interactions between molecules are neglected except that all molecules experience a constant binding energy $- \eta$ that confines their motion to a volume $v_{0}$ per particle.

# Show that for a classical liquid of $N$ indistinguishable molecules, the partition function is, $$
Z_{L} = \frac{1}{N_{L}!} \left[ N_{L} v_{0} e^{\beta \eta} Z_{p}
  \right]^{N_{L}},
$$
where $Z_{p}$ denotes the ideal gas contribution arising from the integral over momenta,$$
Z_{p} = \frac{1}{h^{3}} \int d^{3}p e^{-\beta p^{2}/2m}.
$$

# Calculate the chemical potential of the liquid $\mu_{L}$ and of a vapor phase $\mu_{G}$ assumed to be an ideal gas.
# At coexistence between the liquid and solid phases, $\mu_{L} = \mu_{G}$. Find the pressure (vapor pressure as it is called) as a function of temperature at coexistence.

!!! Question 3. Estimating the Entropy by the method of coincidences

This is a simple and intuitive method to estimate entropies (although it is not very efficient). It is described at http://nb.mit.edu/f/25727 . Write a short program (MATLAB, Mathematica, Python, C, Java, ...) in any language that you know (if you have never written a program, please talk to me) to:
# estimate the area of an annular region of outer radius 10 and inner radius 5.
# obtain the entropy of the two level system discussed in class with $N = 50$ (not a large number !), and compare the result with the exact combinatorial result given in class. Start with low level energies $m = 1, 2, 3$ and discuss the results. Why it is more and more difficult to obtain an accurate estimate as $m$ increases ?

!!! Question 4

Read the pages from Chapter 11 of William Feller, "An Introduction to Probability Theory and Its Applications" at http://nb.mit.edu/f/25725 , especially Section 5 and the discussion about ~Maxwell-Boltzmann, ~Bose-Einstein and ~Fermi-Dirac statistics. 
# What is the difference between ~Maxwell-Boltzmann, ~Bose-Einstein ? How does Quantum Mechanics enter the difference ?
# Consider the example of page 42. Why misprints in a book would obey ~Fermi-Dirac statistics ?

[[pdf version|http://homepages.spa.umn.edu/~vinals/tspot_files/phys5201/2015/hwk3.pdf]]
{{justifyright{
''Due Wednesday , October 18, 2017''
}}}
!!! 1. Entropy of a two oscillator system
A system is composed of two harmonic oscillators, 1 and 2, each with the same natural frequency $\omega_{0}$, and having permissible energies $(n+1/2) \hbar \omega_{0}$, where $n= n_{1}$ or $n=n_{2}$ is any non-negative integer.  When the total energy of the system of two oscillators is $E' = E_{1} + E_{2} =n'\hbar \omega_{0}$, with $n'$ also a positive integer,
# How many microstates (combinations of $n_{1}$ and $n_{2}$ are available to the system at this fixed energy ? 
# What is the entropy of the system ? 
A second system is composed of two harmonic oscillators, each of natural frequency $2\omega_{0}$. Denote its energy as $E''=n'' \hbar \omega_{0}$, where $n''$ is an even integer.
# What is the entropy of this second system ?
# What would be the entropy of a system containing the two preceeding subsystems when the two are separated and enclosed by a totally restrictive wall) ? Express this entropy as a function of $E'$ and $E''$.
!!! 2. Fluctuation-dissipation relation for the magnetic susceptibility
The probability of a configuration of a set of spin variables $S_{i}, \{i=1,
\ldots, n\}$, is given by
$$
e^{-\beta E[S]},
$$
where $E=\sum_{i,j} J_{ij} S_i S_j$, and the interaction $J_{ij}$ is a matrix of constant coefficients. The spin variables $S_{i}$ can be assumed continuous and to be in the range $-\infty < S_{i} < \infty$. The magnetic susceptibility $\chi$ is the response function associated with the change in magnerization due a change in imposed field. In this case, the general relation is writen as
$$
\chi = \beta \sum_{i} \left[ \langle S_{0} S_i \rangle - \langle S_{0} \rangle
\langle S_{i} \rangle \right],
$$
where $S_{0}$ is some arbitrary spin in the chain. Calculate the susceptibility for this model energy.
!!! 3. Fluctuations of occupation numbers
The grand canonical partition function for a system of non interacting particles has been shown to be (in the same notation used in class), 
\begin{equation}
Z = \prod_{k} \sum_{n_{k}=0}^{\infty} e^{\beta n_{k} (\mu - \epsilon_{k})}.
\end{equation}
# Show that $$
- \frac{1}{\beta} \frac{\partial \ln Z}{\partial \epsilon_{j}} =  \frac{\sum_{n_{j}=0}^{\infty} n_{j} e^{\beta n_{j} (\mu - \epsilon_{j})}} {\sum_{n_{j}=0}^{\infty}  e^{\beta n_{j} (\mu - \epsilon_{j})}},
$$
and hence $$
-\frac{1}{\beta} \frac{\partial \ln Z}{\partial \epsilon_{j}} = \langle n_{j}
\rangle
$$
the average occupation number of level $\epsilon_{j}$
# Occupation numbers are of course fluctuating quantities. Show that the variance of the occupation numbers is given by,$$
\frac{1}{\beta^{2}} \frac{\partial^{2} \ln Z}{\partial \epsilon_{j}^{2}} =
  \langle n_{j}^{2} \rangle - \langle n_{j} \rangle^{2}.
$$

# Given the known results for the partition function corresponding to ~Bose-Einstein and ~Fermi-Dirac distributions,$$
Z_{BE} = \prod_{k} \frac{1}{1-e^{\beta \left( \mu - \epsilon_{k} \right)}}, \quad\quad
Z_{FD}  =  \prod_{k} \left( 1+e^{\beta \left( \mu - \epsilon_{k} \right)} \right),
$$
and their corresponding average occupation numbers $\langle n_{j} \rangle$ given in class, show that $$
\frac{\langle n_{j}^{2} \rangle - \langle n_{j} \rangle^{2}}{\langle n_{j}
  \rangle^{2}} = \frac{1}{\langle n_{j} \rangle} - a,
$$
where $a = -1$ for ~Bose-Einstein statistics, and $a = 1$ for ~Fermi-Dirac statistics.
# Sketch both $\langle n_{j} \rangle$ and the ratio $ R = \left( \langle n_{j}^{2} \rangle - \langle n_{j} \rangle^{2}\right)/ \langle n_{j} \rangle$ as a function of $\beta (\epsilon_{j} - \mu)$ for the two cases of ~Bose-Einstein and ~Fermi-Dirac statistics. Comment on the differences at low energies and in the classical limit $\beta (\epsilon_{j} - \mu) \gg 1$. What dependence of $R$ on $\beta (\epsilon_{j} - \mu)$ would you expect if the occupation numbers obeyed Gaussian statistics ?
{{justifyright{
''Due Thursday, November 5, 2015''
}}}

!!! Question 1

The probability of a configuration of a set of spin variables $S_{i}, \{i=1,
\ldots, n\}$, is given by
$$
e^{-\beta E[S]},
$$
where $E=\sum_{i,j} J_{ij} S_i S_j$, and the interaction $J_{ij}$ is a matrix of constant coefficients. The spin variables $S_{i}$ can be assumed continuous and to be in range $-\infty < S_{i} < \infty$. The magnetic susceptibility $\chi$ is the response function associated with the change in magnerization due a change in imposed field. In this case, the general relation is writen as
$$
\chi = \beta \sum_{i} \left[ \langle S_{0} S_i \rangle - \langle S_{0} \rangle
\langle S_{i} \rangle \right],
$$
where $S_{0}$ is some arbitrary spin in the chain. Calculate the susceptibility for this model.

!!! Question 2
The grand canonical partition function for a system of non interacting particles has been shown to be (in the same notation used in class), 
\begin{equation}
Z = \prod_{k} \sum_{n_{k}=0}^{\infty} e^{\beta n_{k} (\mu - \epsilon_{k})}.
\end{equation}

!!!!! (a)
Show that
\begin{equation}
- \frac{1}{\beta} \frac{\partial \ln Z}{\partial \epsilon_{j}} =  \frac{\sum_{n_{j}=0}^{\infty} n_{j} e^{\beta n_{j} (\mu - \epsilon_{j})}} {\sum_{n_{j}=0}^{\infty}  e^{\beta n_{j} (\mu - \epsilon_{j})}},
\end{equation}
and hence
\begin{equation}
-\frac{1}{\beta} \frac{\partial \ln Z}{\partial \epsilon_{j}} = \langle n_{j}
\rangle
\end{equation}
the average occupation number of level $\epsilon_{j}$

!!!!! (b)
Occupation numbers are of course fluctuating quantities. Show that the variance of the occupation numbers is given by,
\begin{equation}
\frac{1}{\beta^{2}} \frac{\partial^{2} \ln Z}{\partial \epsilon_{j}^{2}} =
  \langle n_{j}^{2} \rangle - \langle n_{j} \rangle^{2}.
\end{equation}

!!!!! (c) 
Given the known results for the partition function corresponding to ~Bose-Einstein and ~Fermi-Dirac distributions,
\begin{eqnarray}
Z_{BE} & = & \prod_{k} \frac{1}{1-e^{\beta \left( \mu - \epsilon_{k} \right)}},
\\
Z_{FD} & = & \prod_{k} \left( 1+e^{\beta \left( \mu - \epsilon_{k} \right)} \right),
\end{eqnarray}
and their corresponding average occupation numbers $\langle n_{j} \rangle$ given in class, show that
\begin{equation}
\frac{\langle n_{j}^{2} \rangle - \langle n_{j} \rangle^{2}}{\langle n_{j}
  \rangle^{2}} = \frac{1}{\langle n_{j} \rangle} - a,
\end{equation}
where $a = -1$ for ~Bose-Einstein statistics, and $a = 1$ for ~Fermi-Dirac statistics.

!!!!! (e) 
Sketch both $\langle n_{j} \rangle$ and the ratio $ R = \left( \langle n_{j}^{2} \rangle - \langle n_{j} \rangle^{2}\right)/ \langle n_{j} \rangle$ as a function of $\beta (\epsilon_{j} - \mu)$ for the two cases of ~Bose-Einstein and ~Fermi-Dirac statistics.

Comment on the differences at low energies and in the classical limit $\beta (\epsilon_{j} - \mu) \gg 1$.

What dependence of $R$ on $\beta (\epsilon_{j} - \mu)$ would you expect if the occupation numbers obeyed Gaussian statistics ?

!!! Question 3
The partition function for the normal modes of lattice vibration (harmonic lattice) is given by,
$$
Z(N,T,V) = \prod_{k} \frac{e^{-\beta \hbar \omega(k)/2}}{1 - e^{-\beta \hbar \omega(k)}}.
$$
# Obtain the free energy $F(N,T,V)$.
# An approximate treatment of a weakly anharmonic lattice can be carried as follows: Assume that the free energy of the anharmonic system is that given in the previous item plus a known function $\phi(V)$ that accounts for the elastic energy of uniform solid compression. Assume further that the normal mode frequencies are not constant, but that they depend on the volume of the system $\omega=\omega(V)$ for all $k$. Calculate the equation of state of this solid by computing the pressure $p = -(\partial F/\partial V)_{T}$. By defining the so-called Gruneisen parameter $\gamma = - d \ln(\omega)/d \ln(V)$, show that the equation of state is,
$$
p = - \frac{d\phi}{dV} + \gamma \frac{\langle E \rangle}{V}.
$$

!!! Question 4
Simple decomposition of a one dimensional fluctuating interface in normal modes and related statistics. The energy of a one dimensional fluctuating line is proportional to its length,
$$
E \simeq \sigma L_{0} + \frac{\sigma}{2}\int_{0}^{L_{0}} dx \left( 
\frac{dh}{dx} \right)^{2},
$$
where $\sigma$ is the interfacial tension, $L_{0}$ is the length of the unstretched line, and $h(x)$ is its normal displacement away from planarity. By defining a Fourier series as,
$$
h(x) =  \frac{1}{\sqrt{L_{0}}} \sum_{k} \eta_{k} e^{ikx} \quad \textrm{with}
\quad
\eta_{k} = \frac{1}{\sqrt{L_{0}}} \int_{0}^{L_{0}} dx h(x) e^{-ikx} 
$$
show that
$$
E = \sigma L_{0} + \frac{\sigma}{2} \sum_{k} k^{2} |\eta_{k}|^{2}.
$$
Energy equipartition implies that for each quadratic mode in the energy, one has in thermal equilibrium
$$
\frac{\sigma}{2} k^{2} \langle  |\eta_{k}|^{2} \rangle = \frac{1}{2}  k_{B}T,
$$
where $k_{B}$ is Boltzman's constant, and $T$ the temperature. By using this result, show that
$$
\langle \left( h(x) - h(x') \right)^{2} \rangle = \frac{2}{L_{0}}
\sum_{k} \frac{k_{B}T}{\sigma k^{2}} \left( 1 - \cos k(x-x') \right).
$$

[[pdf version|http://homepages.spa.umn.edu/~vinals/tspot_files/phys5201/2015/hwk4.pdf]]
{{justifyright{
''Due Thursday, November 12, 2015''
}}}

!!! Question 1

The dispersion relation of liquid He near its superfluid transition can be found experimentally by neutron scattering. The experimental result is shown in  the figure.
[img(80%+,auto)[http://homepages.spa.umn.edu/~vinals/tspot_files/phys5201/2015/roton.jpg]]
The dispersion relation is interpreted as a combination of a "phonon" branch at low $k$
\begin{equation}
\epsilon_{k} = \hbar c k
\end{equation}
corresponding to compression waves in the fluid, and a "roton" branch,
\begin{equation}
\epsilon_{k} = \Delta + \frac{\hbar^{2} (k - k_{0})^2}{2 \sigma}
\end{equation}
with $\Delta$ and $k_{0}$ constants, as indicated in the figure, that corresponds to vortex formation.
* Calculate the average energy and the heat capacity at constant volume $(C_{V})_{\rm phonon}$ at low temperature for a gas of ''non-conserved'' bosons that are described by the phonon dispersion relation above. (By non-conserved one means that phonons are freely created and annihilated, so that their number is not constant; cf. photons in a cavity or phonons in a crystal.)
* Calculate the average energy and heat capacity at constant volume $(C_{V})_{\rm roton}$ at low temperature for a gas of non-conserved bosons that are described by the roton dispersion relation above. ''Note:'' The required integral to obtain the average energy cannot be calculated analytically. You may therefore just obtain its leading dependence at low temperature.
* The asymptotic dependence at low temperatures of $(C_{V})_{\rm phonon}$ is very different from $(C_{V})_{\rm roton}$. Can you explain this difference in terms of their respective dispersion relations ?

!!! Question 2
Derive the expression of the isothermal compressibility for quantum gas of Fermions. In order to do so,
!!!!!(a)
work with the grand canonical partition function, and show that
$$
\langle N^{2} \rangle - \langle N \rangle^{2} = \left( k_{B}T \right)^{2} 
\frac{\partial^{2} \ln Z}{\partial \mu^{2}} = k_{B} T \left( \frac{ \partial
\langle N \rangle}{\partial \mu} \right)_{VT}.
$$
Comment on the physical significance of these result.
!!!!!(b)
Consider the ~Gibbs-Duhem equation, and at constant $T$, as appropriate for this calculation, show that
$$
\frac{1}{\rho} \left( \frac{\partial p}{\partial \rho} \right)_{T} = \left(
\frac{\partial \mu}{\partial \rho} \right)_{T},
$$
with $\rho = N/V$. And that, as a consequence,
$$
- \frac{N^{2}}{V} \left( \frac{\partial \mu}{\partial N} \right)_{VT} = V 
\left( \frac{\partial p}{\partial V} \right)_{NT}.
$$
(carefully note the variables held constant in the derivatives in this last equation). Finally, obtain the isothermal compressibility $\kappa_{T}$,
$$
\langle N^{2} \rangle - \langle N \rangle^{2} = \frac{k_{B}T}{V}\langle N
\rangle^{2} \kappa_{T}.
$$
!!!!!(c)
Consider occupation number variables $\{ n_{i} \}$. Show that for a gas of ideal fermions
$$
\langle n_{i}^{2} \rangle = \langle n_{i} \rangle.
$$
Furthermore, by recalling that
$$
\langle n_{i} \rangle = - \frac{1}{\beta} \frac{1}{Z} \frac{\partial
  Z}{\partial \epsilon_{i}}
$$
and suitably generalizing it of for $\langle n_{i} n_{j} \rangle$, show that the occupation numbers are independent variables
$$ 
\langle n_{i} n_{j} \rangle = \langle n_{i} \rangle \langle n_{j} \rangle.
$$
!!!!!(d)
Show that the isothermal compressibility of a fermion gas is given by
$$
\kappa_{T} = \frac{1}{\rho k_{B} T} \left( 1 - \frac{\sum \langle n_{i}
  \rangle^{2} }{\sum \langle n_{i} \rangle} \right).
$$
How does this compressibility compare with that of classical ideal gas ? Why would an ideal gas of fermions be less compressible than a classical ideal gas ?

!!! Question 3
Consider the phenomenon of the spontaneous emission of electrons from a planar, metal surface at $z=0$. Let the work function of the metal be $W$, i.e., an electron will escape the metal if its kinetic energy in the direction perpendicular to the surface exceeds $W$ (assuming non interacting or free electrons).
!!!!!(a)
Given the general definition of flux $\vec{J} = n \vec{v}$ where $n$ is the number of particles per unit volume and $\vec{v}$ their velocity, show that in thermal equilibrium the flux of electrons leaving the metal is
\begin{equation}
\langle J_{z} \rangle = 2 \int_{p_{x}=-\infty}^{\infty} \int_{p_{y}=-\infty}^{\infty}
\int_{p_{z}=\sqrt{2mW}}^{\infty}  \frac{dp_{x} dp_{y} dp_{z}}{h^{3}}
\frac{v_{z}} {e^{\beta (\epsilon - \mu)} + 1}
\end{equation}
where $v_{z}$ is the $z$ component of the electron velocity, $m$ is its mass, $\epsilon$ the electron kinetic energy, and $\mu$ its chemical potential.
!!!!!(b)
Introduce cylindrical coordinates in momentum space $(p,\phi,p_{z})$, and show that the equation above can be written as,
\begin{equation}
\langle J_{z} \rangle = \frac{4 \pi m k_{B} T}{h^{3}} \int_{\epsilon_{z}=W}^{\infty} d
\epsilon_{z} \ln \left( 1 + e^{\beta(\mu - \epsilon_{z})} \right).
\end{equation}
with $\epsilon_{z} = p_{z}^{2}/2m$. Note the result:
$$
\int_{0}^{\infty} \frac{xdx}{ae^{x^{2}} + 1} = \frac{1}{2} \ln \left( 1 + \frac{1}{a} \right).
$$
!!!!!(c) 
Calculate $\langle J_{z} \rangle$ in the semiclassical limit of $e^{\beta (\mu - \epsilon)} \ll 1$.
!!!!!(d)
In a fully classical calculation, Richardson (1902) assumed that the electron gas can be approximated by an ideal gas. In that case,
$$
e^{\beta \mu} = \frac{n h^{3}}{2 (2 \pi m k_{B} T)^{3/2}},
$$
where $n$ is the electron density. What is the temperature dependence of $\langle J_{z} \rangle $ under this assumption ? On the other hand, in a quantum mechanical treatment, and for moderate to low temperatures, what is the value of $\mu$ for an electron gas ? Assuming that the result of (c) still holds, what is the predicted dependence of $\langle J_{z} \rangle$ on temperature in this case ?
-----
[[pdf version|http://homepages.spa.umn.edu/~vinals/tspot_files/phys5201/2015/hwk5.pdf]]
{{justifyright{
''Due Thursday, November 19, 2015''
}}}

!!! Question 1
Consider the Fourier transform of a function to be
$$
\hat{G}(q) = \frac{k_{B}T/K}{q^{2} + \xi^{-2}} \; ,
$$
where all parameters are constant. We wish to determine inverse Fourier transform to find $G(x)$ in $d$ dimensions ($x$ is a d dimensional vector)
$$
G(x) = \int \frac{d^{d}q}{(2 \pi)^{d}} e^{i q \cdot x} \hat{G}(q).
$$
# First, show that $$
\nabla^{2} G(x) = - \frac{k_{B}T}{K} \delta (x) + \xi^{-2} G(x).
 \; \
$$ This equation is known as the Helmholtz equation.
# To solve this equation, we first note that the solution is spherically symmetric, so that the Laplacian in $d$ dimensions reduces to $$
\nabla^{2} = \frac{d^{2}}{dr^{2}} + \frac{d-1}{r} \frac{d}{dr},
$$
where $r$ is the radial coordinate in $d$ dimensions. At long distances $r \gg 1$ (so that $\delta (x)$ can be taken as zero), show that the solution is $$
I(r) \sim \frac{e^{-r/\xi}}{r^{p}},
$$
where we have defined $G(r) = - (k_{B}T/K) I(r)$.
# Requiring that $I(r)$ be a solution of the $d$-dimensional Helmholtz equation in the limit $r \gg 1$ determines the value of the exponent $p$. Give the expression for $p$ in two cases: (a) $r, \xi \rightarrow \infty$ but $r/\xi \ll 1$ and (b) $r \gg \xi$.
!!! Question 2
A floppy surface has an excess  surface energy of the form
$$
E_{\rm state} = \sigma \int d{\vec x }\, \left[ \left( \nabla(\nabla^{2} h(\vec{x})) \right)^2 + \frac {h^2}{\ell^6} \right],
$$
where $\sigma$ is the surface tension, $\ell$ is a positive length ${\vec x}$ is the 2-dimensional vector in the plane of the interface, and $h(\vec x)$ gives the height of the interface above a reference plane.
# Find the form of the surface correlation function in Fourier space.
# Calculate the width of the surface in three dimensions. What happens in the limit $\ell \rightarrow \infty$?
!!! Question 3. Correlation function of the so called XY model in two dimensions. 
Consider a set of spins on a two dimensional plane such that they can have a continuous distribution of orientations $\vec{S}(\vec{r}) = S_{0}(\cos \theta(\vec{r}), \sin \theta(\vec{r}))$, with $S_{0}$ a constant, and $\theta \in (0, 2 \pi)$ is the orientation of the spin located at $\vec{r}$. The energy of a given distribution of spins is given in the continuum limit by
\begin{equation}
E = \frac{\rho_{s}}{2} \int d^{2}r \left( \nabla \theta \right)^{2},
\end{equation}
with $\rho_{s}$ a known constant.
# The order parameter for this system is $\psi = S_{0} e^{i \theta}$, and we wish to calculate its correlation function: $$
G(\vec{r}) = \langle \psi^{*}(0) \psi(\vec{r}) \rangle.
$$
Given that the energy is quadratic in $\theta$, the angle $\theta$ is Gaussianly distributed. By using the expression for the average of the exponential of a Gaussian variable (Eq. (2.50) in the notes), $$
\langle e^{i \vec{g}\cdot\vec{u}} \rangle = e^{-\frac{1}{2}\langle (\vec{g}  \cdot \vec{u})^{2} \rangle},
$$
show that $$
G(\vec{r}) = S_{0}^{2} e^{- \left( \langle \theta^{2} \rangle - \langle
\theta(0) \theta(\vec{r}) \rangle \right) }
$$

# Given the energy of the spin configurations above, show that $$
\left( \langle \theta^{2} \rangle - \langle \theta(0) \theta(\vec{r}) \rangle \right) = \frac{k_{B}T}{\rho_{s}} \int \frac{d^{2}k}{(2\pi)^{2}} \frac{1-e^{i \vec{k}\cdot\vec{r}}}{k^{2}}.
$$

# In order to compute the resulting integral, introduce polar variables on the $\vec{k}$ plane, and show that at long distances $\Lambda r \gg 1$, where $\Lambda$ is a high wavenumber cut-off, $$
G(r) = \frac{S_{0}^{2}}{r^{\eta}}, \quad {\rm with} \quad \eta =
\frac{k_{B}T}{ 2 \pi \rho_{s}}.
$$
!!!!! Note:
You will need the following two results: $$
\frac{1}{2 \pi} \int_{0}^{2 \pi} d \phi e^{i z \cos \phi} = J_{0}(z),
$$
the Bessel function of order zero. Its asymptotic behavior as $z \rightarrow \infty$ is
$$
J_{0}(z) \sim \sqrt{\frac{2}{\pi z}}
$$




-----
[[pdf version|http://homepages.spa.umn.edu/~vinals/tspot_files/phys5201/2015/hwk6.pdf]]
{{justifyright{
''Due Tuesday, December 1, 2015''
}}}

!!!Question 1 (long)
Let $\vec{u}(x,y,z)$ be the displacement field in three different phases of matter: crystals, columnar phases, and smectic liquid crystals, all in three dimensions. A crystalline phase has a broken translational symmetry in all three directions. A columnar phase can be viewed as a crystal along two dimensions, and a fluid along the third. A smectic phase in a liquid crystal can be viewed as a sequence of stacked planes perpendicular to the so called director of the liquid crystal molecule. If $C$ is the elastic modulus of each material, the energy of all three phases can be approximately written as
$$
E_{crystal} = \frac{C}{2} \int d^{3}x \left( \nabla \cdot \vec{u} \right)^{2}, \quad \vec{u}=(u_{x},u_{y},u_{z}),
$$
$$
E_{columnar} = \frac{C}{2} \int d^{3}x \left[ \left(\nabla_{\perp} \cdot \vec{u}_{\perp}\right)^{2}  + \lambda^{2} \left( \partial_{z}^{2} \vec{u}_{\perp} \right)^{2} \right], \quad \vec{u}_{\perp}=(u_{x},u_{y}), \quad \nabla_{\perp} = (\partial_{x},\partial_{y})
$$
$$
E_{smectic} =  \frac{C}{2} \int d^{3}x \left[ \left( \partial_{z}u \right)^{2} + \lambda^{2} \left( \nabla_{\perp}^{2}u \right)^{2} \right], \quad \nabla_{\perp}u = (\partial_{x}u,\partial_{y}u). 
$$
In these equations, $\vec{u}$ is the three dimensional displacement field in a crystal, $\vec{u}_{\perp}$ is a two dimensional displacement field of the columnar phase on the plane where there is crystalline order, whereas $u$ is a scalar field that describes the modulation of the smectic planes.

Show that the fluctuations in the component of the displacement parallel to the wavevector of the fluctuation ($u = \hat{k}\cdot\vec{u}$ where appropriate):
\begin{eqnarray}
\langle u^{2} \rangle & = & \frac{k_{B}T q_{c}}{2 \pi^{2} C} \quad\quad\quad
{\rm crystals,} \\
\langle u^{2} \rangle & = & \frac{k_{B}T \sqrt{q_{c}/\lambda}}{2 \pi^{2} C}
\quad {\rm columnar ~ phases,}  \\
\langle u^{2} \rangle & \approx & \frac{k_{B}T \ln (q_{c}L)}{4 \pi
\lambda C} 
\quad {\rm smectics.} 
\end{eqnarray}
We have introduced a large wavenumber cut-off $q_{c}$ beyond which this simplified descriptions break down, and $L$ is the linear size of the sample.

See http://barrett-group.mcgill.ca/tutorials/liquid_crystal/LC05.htm for an image of a columnar phase. The columns align along $z$, and form a hexagonal lattice on the $(x,y)$ plane. The displacement $u_{\perp}$ measures the distortions of the columns on this plane, as a function of position. The columns are disordered along $z$.

An illustration of an smectic phase can be seen in http://www.personal.kent.edu/~bisenyuk/liquidcrystals/smectics1.html 

!!!Question 2 (short)
For an oil-water microemulsion with surfactants, the appropriate order parameter is the local molar water-to-oil ratio $\zeta(\vec{r})$. These systems form complex spatial structures, including droplets, lamellae, or bicontinuous phases. If the microemulsion is isotropic, the energy of a configuration is given by,
\begin{equation}
E \left[ \zeta(\vec{r}) \right] = \frac{1}{2} \int d \vec{r} \left[
a \zeta(\vec{r})^{2} + b | \nabla \zeta(\vec{r}) |^{2} + 
c \left( \nabla^{2} \zeta (\vec{r}) \right)^{2} \right].
\end{equation}
where $a, b$ and $c$ are three constant parameters.

# Show that the structure factor $S(k) = \langle |\hat{\zeta}_{\vec{k}}|^{2} 
\rangle$ is, $$ S(k) \sim \frac{1}{a+bk^{2}+ck^{4}}.
$$

# Discuss the qualitative features of $S(k)$, including its behavior for large $k$.
# It can be shown (''no'' need for you to show it here) that the long distance behavior of $G(r)$, the inverse Fourier transform of $S(k)$, is given by, \begin{equation}
G(r) \sim \frac{e^{-r/\xi_{1}}}{r}\sin\left(\frac{2\pi r}{\xi_{2}}\right),
\end{equation}
where $$
\xi_{1} = \sqrt{\sqrt{\frac{a}{4c}} + \frac{b}{4c}} \quad\quad
\xi_{2} = 2 \pi \sqrt{\sqrt{\frac{a}{4c}}- \frac{b}{4c}}
$$
In light of this result, please discuss the spatial structure of a typical microemulsion configuration.

!!! Question 3. Paramagnetic material (short)
Consider a paramagnetic material (in three dimensional space) in a magnetic field $\vec{B}$, assumed uniform. The material is assumed comprised of independent magnetic dipoles $\vec{\mu}$ so that there is negligible interaction among the individual dipoles. The energy of the dipole in the magnetic field is given by,
$$
E = - \vec{\mu} \cdot \vec{B} = - \mu B \cos \theta,
$$ where $\theta$ is the angle between the dipole and the magnetic field. Under the assumption of uniform field and constant temperature $T$, calculate $\langle \cos \theta \rangle$, and use this result to calculate $\langle E \rangle$.

Assume now that there is a uniform distribution of such dipoles in the material with $n$ dipoles per unit volume. Calculate the average magnetization $\vec{M} = n \vec{\mu}$, as well as its asymptotic form both for $T \rightarrow 0$ and $T \rightarrow \infty$.



-----
[[pdf version|http://homepages.spa.umn.edu/~vinals/tspot_files/phys5201/2015/hwk7.pdf]]
{{justifyright{
''Due Thursday, December 10, 2015''
}}}

!!! Question 1. Infinite range Ising model
A rare analytic solution to an interacting system involves the infinite-range Ising model of a ferromagnet. Of course, the model is somewhat artificial. Consider spins $S_i = \pm 1$ that are located on $i=1, 2, \ldots N$ sites of a regular lattice. All spins interact equally with each other, through a positive coupling constant $J_\infty$.  There is also a constant external magnetic field $H$ which tends to align the spins in the direction (sign) of the field.  The energy of interaction for the system is $$
E = - \frac{J_\infty}{2} \sum_{i=1}^N \sum_{j=1}^N S_i S_j
- H \sum_{i=1}^N S_i,
$$
and the partition function is $$
Z = \sum_{S_1 = -1}^{+1} \sum_{S_2 = -1}^{+1} \cdots \sum_{S_N = -1}^{+1} e^{-E/k_B T}. 
$$ 
where $k_B$ is Boltzmann's constant and $T$ is temperature. This model has a second order phase transition: For $H=0$ and low temperatures, spins are aligned on average, giving rise to a nonzero magnetization. At high temperatures they are randomly oriented, giving no net magnetization. A phase transition occurs at a particular critical temperature $T_c$.
# The fact that all spins interact with each other with equal strength (without regard to how far apart the spins may be) is artificial. For example, why does the model only make sense if $J_\infty =J / N$, where $J$ is a constant independent of $N$?
# In any case, the model has value because it can be solved exactly. One can do all the sums in the partition function by the method known variously as the ~Hubbard-Stratonovich transformation, or as auxiliary fields, or as the ~Martin-Siggia-Rose representation, or as "completing the square". To get started, prove the trivial (but easily generalizable) identity  $$ 
\exp{\frac{a}{2N}x^2} = \int_{-\infty}^{\infty} \frac{dy}{\sqrt{2\pi/Na}}  e^{-\frac{Na}{2}y^2 +axy} 
$$  where Re $a >0$. Note that the quadratic dependence on $x$ in the exponential has been reduced to a linear dependence on $x$; the price being the introduction of a new variable $y$. Note that one can introduce a similar transformation for a vector $\vec y$, or a continuous field $y(x)$, in which case $a$ becomes a matrix.
# Show that the partition function for the system above is $$
Z = \int_{-\infty}^{\infty} \frac{dy}{\sqrt{2\pi k_BT/N J}} e^{-N L(y)/k_BT}
$$
(as a hint, let $x = \sum_{i=1}^N S_i$), and $$
L = \frac{J}{2} y^2 - k_BT \ln 2 \cosh(H + Jy)/k_BT.
$$
Hence the sums in the partition function have been replaced by an integral over the auxiliary variable $y$.
# In the thermodynamic limit, $N\rightarrow \infty$, show that the partition function can be evaluated exactly (called a saddle-point evaluation) as $$
Z = \sum_\alpha \exp \left( - N L(H, J, T, y_\alpha\right)/k_BT,
$$
find the equation satisfied by  $y_\alpha$, and explain what the index $\alpha$ is. What is the probability of being in the state specified by $y_\alpha$?  Show that the magnetization per spin is $$
m = (k_BT/ N) {\partial \ln Z}/{\partial H} = y_0,
$$
where $y_0$ is the position of the global minimum of $L$.
# Solve for $y_\alpha$ graphically for $H = 0$.  Show there is a phase transition, and find $T_c$. Discuss the stability of solutions for $y_\alpha$ above and below $T_c$. 
# Calculate the isothermal susceptibility $\chi_T = \partial M/\partial H$. For $H=0$ show that  $\chi_T$ diverges to infinity both above and below $T_c$, and find the leading and next to leading behavior of $\chi_T$ in terms of the reduced temperature $t= (T-T_c)/T_c$.

!!! Question 2. Domain boundary in an Ising model
One can use a two dimensional Ising model to describe a two phase interface: the line separating regions of positive $(+)$ magnetization from regions of negative $(-)$ magnetization as shown in the figure below

[img(60%+,auto)[http://homepages.spa.umn.edu/~vinals/tspot_files/phys5201/2015/ising_interface.jpg]] 
The spins are arranged on a $N \times N$ square lattice with unit spacing. The energy of the system is, $$
E = - J \sum_{\langle i,j \rangle} S_{i}S_{j}, \quad\quad S_{i}, S_{j}
= \pm 1.
$$
# What does the quantity $\sum_{p}(1 + |y_{p}|)$ represent ? The quantity $y_{p}$ is the height of the step located at $x_{p}$ (for example, $y_{1} = 2, y_{2}=1, y_{3}=0$ in the figure).
# Show that the energy of the interface is $$
E = 2JN + 2J \sum_{p=1}^{N} |y_{p}|.
$$

# We now assume that the left end of the interface is fixed, while the right one is free to move. The heights ${y_{p}}$ are assumed to be integer random variables ranging from $- \infty$ to $+ \infty$. Show that the partition function of the interface is $$
Z = \left[ e^{-2 \beta J} \coth (\beta J) \right]^{N}
$$
(recall the geometric sum $\sum_{n=0}^{\infty} q^{n} = 1/(1-q)$.)
# Calculate the surface tension (i.e., the free energy per unit length $\sigma=F/N$), and the internal energy per unit length $E/N = (1/N) \partial \ln Z/\partial \beta$. Calculate the limits of both quantities as $\beta J \ll 1$ and $\beta J \gg 1$, and comment on the results.


-----
[[pdf version|http://homepages.spa.umn.edu/~vinals/tspot_files/phys5201/2015/hwk8.pdf]]
/***
|Name|ImageSizePlugin|
|Source|http://www.TiddlyTools.com/#ImageSizePlugin|
|Version|1.2.3|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|plugin|
|Description|adds support for resizing images|
This plugin adds optional syntax to scale an image to a specified width and height and/or interactively resize the image with the mouse.
!!!!!Usage
<<<
The extended image syntax is:
{{{
[img(w+,h+)[...][...]]
}}}
where ''(w,h)'' indicates the desired width and height (in CSS units, e.g., px, em, cm, in, or %). Use ''auto'' (or a blank value) for either dimension to scale that dimension proportionally (i.e., maintain the aspect ratio). You can also calculate a CSS value 'on-the-fly' by using a //javascript expression// enclosed between """{{""" and """}}""". Appending a plus sign (+) to a dimension enables interactive resizing in that dimension (by dragging the mouse inside the image). Use ~SHIFT-click to show the full-sized (un-scaled) image. Use ~CTRL-click to restore the starting size (either scaled or full-sized).
<<<
!!!!!Examples
<<<
{{{
[img(100px+,75px+)[images/meow2.jpg]]
}}}
[img(100px+,75px+)[images/meow2.jpg]]
{{{
[<img(34%+,+)[images/meow.gif]]
[<img(21% ,+)[images/meow.gif]]
[<img(13%+, )[images/meow.gif]]
[<img( 8%+, )[images/meow.gif]]
[<img( 5% , )[images/meow.gif]]
[<img( 3% , )[images/meow.gif]]
[<img( 2% , )[images/meow.gif]]
[img(  1%+,+)[images/meow.gif]]
}}}
[<img(34%+,+)[images/meow.gif]]
[<img(21% ,+)[images/meow.gif]]
[<img(13%+, )[images/meow.gif]]
[<img( 8%+, )[images/meow.gif]]
[<img( 5% , )[images/meow.gif]]
[<img( 3% , )[images/meow.gif]]
[<img( 2% , )[images/meow.gif]]
[img(  1%+,+)[images/meow.gif]]
{{tagClear{
}}}
<<<
!!!!!Revisions
<<<
2011.09.03 [1.2.3] bypass addStretchHandlers() if no '+' suffix is used (i.e., not resizable)
2010.07.24 [1.2.2] moved tip/dragtip text to config.formatterHelpers.imageSize object to enable customization
2009.02.24 [1.2.1] cleanup width/height regexp, use '+' suffix for resizing
2009.02.22 [1.2.0] added stretchable images
2008.01.19 [1.1.0] added evaluated width/height values
2008.01.18 [1.0.1] regexp for "(width,height)" now passes all CSS values to browser for validation
2008.01.17 [1.0.0] initial release
<<<
!!!!!Code
***/
//{{{
version.extensions.ImageSizePlugin= {major: 1, minor: 2, revision: 3, date: new Date(2011,9,3)};
//}}}
//{{{
var f=config.formatters[config.formatters.findByField("name","image")];
f.match="\\[[<>]?[Ii][Mm][Gg](?:\\([^,]*,[^\\)]*\\))?\\[";
f.lookaheadRegExp=/\[([<]?)(>?)[Ii][Mm][Gg](?:\(([^,]*),([^\)]*)\))?\[(?:([^\|\]]+)\|)?([^\[\]\|]+)\](?:\[([^\]]*)\])?\]/mg;
f.handler=function(w) {
	this.lookaheadRegExp.lastIndex = w.matchStart;
	var lookaheadMatch = this.lookaheadRegExp.exec(w.source)
	if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
		var floatLeft=lookaheadMatch[1];
		var floatRight=lookaheadMatch[2];
		var width=lookaheadMatch[3];
		var height=lookaheadMatch[4];
		var tooltip=lookaheadMatch[5];
		var src=lookaheadMatch[6];
		var link=lookaheadMatch[7];

		// Simple bracketted link
		var e = w.output;
		if(link) { // LINKED IMAGE
			if (config.formatterHelpers.isExternalLink(link)) {
				if (config.macros.attach && config.macros.attach.isAttachment(link)) {
					// see [[AttachFilePluginFormatters]]
					e = createExternalLink(w.output,link);
					e.href=config.macros.attach.getAttachment(link);
					e.title = config.macros.attach.linkTooltip + link;
				} else
					e = createExternalLink(w.output,link);
			} else 
				e = createTiddlyLink(w.output,link,false,null,w.isStatic);
			addClass(e,"imageLink");
		}

		var img = createTiddlyElement(e,"img");
		if(floatLeft) img.align="left"; else if(floatRight) img.align="right";
		if(width||height) {
			var x=width.trim(); var y=height.trim();
			var stretchW=(x.substr(x.length-1,1)=='+'); if (stretchW) x=x.substr(0,x.length-1);
			var stretchH=(y.substr(y.length-1,1)=='+'); if (stretchH) y=y.substr(0,y.length-1);
			if (x.substr(0,2)=="{{")
				{ try{x=eval(x.substr(2,x.length-4))} catch(e){displayMessage(e.description||e.toString())} }
			if (y.substr(0,2)=="{{")
				{ try{y=eval(y.substr(2,y.length-4))} catch(e){displayMessage(e.description||e.toString())} }
			img.style.width=x.trim(); img.style.height=y.trim();
			if (stretchW||stretchH) config.formatterHelpers.addStretchHandlers(img,stretchW,stretchH);
		}
		if(tooltip) img.title = tooltip;

		// GET IMAGE SOURCE
		if (config.macros.attach && config.macros.attach.isAttachment(src))
			src=config.macros.attach.getAttachment(src); // see [[AttachFilePluginFormatters]]
		else if (config.formatterHelpers.resolvePath) { // see [[ImagePathPlugin]]
			if (config.browser.isIE || config.browser.isSafari) {
				img.onerror=(function(){
					this.src=config.formatterHelpers.resolvePath(this.src,false);
					return false;
				});
			} else
				src=config.formatterHelpers.resolvePath(src,true);
		}
		img.src=src;
		w.nextMatch = this.lookaheadRegExp.lastIndex;
	}
}

config.formatterHelpers.imageSize={
	tip: 'SHIFT-CLICK=show full size, CTRL-CLICK=restore initial size',
	dragtip: 'DRAG=stretch/shrink, '
}

config.formatterHelpers.addStretchHandlers=function(e,stretchW,stretchH) {
	e.title=((stretchW||stretchH)?this.imageSize.dragtip:'')+this.imageSize.tip;
	e.statusMsg='width=%0, height=%1';
	e.style.cursor='move';
	e.originalW=e.style.width;
	e.originalH=e.style.height;
	e.minW=Math.max(e.offsetWidth/20,10);
	e.minH=Math.max(e.offsetHeight/20,10);
	e.stretchW=stretchW;
	e.stretchH=stretchH;
	e.onmousedown=function(ev) { var ev=ev||window.event;
		this.sizing=true;
		this.startX=!config.browser.isIE?ev.pageX:(ev.clientX+findScrollX());
		this.startY=!config.browser.isIE?ev.pageY:(ev.clientY+findScrollY());
		this.startW=this.offsetWidth;
		this.startH=this.offsetHeight;
		return false;
	};
	e.onmousemove=function(ev) { var ev=ev||window.event;
		if (this.sizing) {
			var s=this.style;
			var currX=!config.browser.isIE?ev.pageX:(ev.clientX+findScrollX());
			var currY=!config.browser.isIE?ev.pageY:(ev.clientY+findScrollY());
			var newW=(currX-this.offsetLeft)/(this.startX-this.offsetLeft)*this.startW;
			var newH=(currY-this.offsetTop )/(this.startY-this.offsetTop )*this.startH;
			if (this.stretchW) s.width =Math.floor(Math.max(newW,this.minW))+'px';
			if (this.stretchH) s.height=Math.floor(Math.max(newH,this.minH))+'px';
			clearMessage(); displayMessage(this.statusMsg.format([s.width,s.height]));
		}
		return false;
	};
	e.onmouseup=function(ev) { var ev=ev||window.event;
		if (ev.shiftKey) { this.style.width=this.style.height=''; }
		if (ev.ctrlKey)  { this.style.width=this.originalW; this.style.height=this.originalH; }
		this.sizing=false;
		clearMessage();
		return false;
	};
	e.onmouseout=function(ev) { var ev=ev||window.event;
		this.sizing=false;
		clearMessage();
		return false;
	};
}
//}}}
/***
|''Name:''|LoadRemoteFileThroughProxy (previous LoadRemoteFileHijack)|
|''Description:''|When the TiddlyWiki file is located on the web (view over http) the content of [[SiteProxy]] tiddler is added in front of the file url. If [[SiteProxy]] does not exist "/proxy/" is added. |
|''Version:''|1.1.0|
|''Date:''|mar 17, 2007|
|''Source:''|http://tiddlywiki.bidix.info/#LoadRemoteFileHijack|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
|''~CoreVersion:''|2.2.0|
***/
//{{{
version.extensions.LoadRemoteFileThroughProxy = {
 major: 1, minor: 1, revision: 0, 
 date: new Date("mar 17, 2007"), 
 source: "http://tiddlywiki.bidix.info/#LoadRemoteFileThroughProxy"};

if (!window.bidix) window.bidix = {}; // bidix namespace
if (!bidix.core) bidix.core = {};

bidix.core.loadRemoteFile = loadRemoteFile;
loadRemoteFile = function(url,callback,params)
{
 if ((document.location.toString().substr(0,4) == "http") && (url.substr(0,4) == "http")){ 
 url = store.getTiddlerText("SiteProxy", "/proxy/") + url;
 }
 return bidix.core.loadRemoteFile(url,callback,params);
}
//}}}
[[Home]]
[[Syllabus]]
[[Class Notes]]
[[Homework]]
[[Supplementary Material]]

[[Tag Cloud]]

[[WelcomeToTiddlyspot]] [[GettingStarted]]
/***
|''Name:''|PasswordOptionPlugin|
|''Description:''|Extends TiddlyWiki options with non encrypted password option.|
|''Version:''|1.0.2|
|''Date:''|Apr 19, 2007|
|''Source:''|http://tiddlywiki.bidix.info/#PasswordOptionPlugin|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
|''~CoreVersion:''|2.2.0 (Beta 5)|
***/
//{{{
version.extensions.PasswordOptionPlugin = {
	major: 1, minor: 0, revision: 2, 
	date: new Date("Apr 19, 2007"),
	source: 'http://tiddlywiki.bidix.info/#PasswordOptionPlugin',
	author: 'BidiX (BidiX (at) bidix (dot) info',
	license: '[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D]]',
	coreVersion: '2.2.0 (Beta 5)'
};

config.macros.option.passwordCheckboxLabel = "Save this password on this computer";
config.macros.option.passwordInputType = "password"; // password | text
setStylesheet(".pasOptionInput {width: 11em;}\n","passwordInputTypeStyle");

merge(config.macros.option.types, {
	'pas': {
		elementType: "input",
		valueField: "value",
		eventName: "onkeyup",
		className: "pasOptionInput",
		typeValue: config.macros.option.passwordInputType,
		create: function(place,type,opt,className,desc) {
			// password field
			config.macros.option.genericCreate(place,'pas',opt,className,desc);
			// checkbox linked with this password "save this password on this computer"
			config.macros.option.genericCreate(place,'chk','chk'+opt,className,desc);			
			// text savePasswordCheckboxLabel
			place.appendChild(document.createTextNode(config.macros.option.passwordCheckboxLabel));
		},
		onChange: config.macros.option.genericOnChange
	}
});

merge(config.optionHandlers['chk'], {
	get: function(name) {
		// is there an option linked with this chk ?
		var opt = name.substr(3);
		if (config.options[opt]) 
			saveOptionCookie(opt);
		return config.options[name] ? "true" : "false";
	}
});

merge(config.optionHandlers, {
	'pas': {
 		get: function(name) {
			if (config.options["chk"+name]) {
				return encodeCookie(config.options[name].toString());
			} else {
				return "";
			}
		},
		set: function(name,value) {config.options[name] = decodeCookie(value);}
	}
});

// need to reload options to load passwordOptions
loadOptionsCookie();

/*
if (!config.options['pasPassword'])
	config.options['pasPassword'] = '';

merge(config.optionsDesc,{
		pasPassword: "Test password"
	});
*/
//}}}
/***
|Name|Plugin: Scientific Notation|
|Created by|BobMcElrath|
|Email|my first name at my last name dot org|
|Location|http://bob.mcelrath.org/tiddlyjsmath-2.0.3.html|
|Version|1.0|
|Requires|[[TiddlyWiki|http://www.tiddlywiki.com]] &ge; 2.0.3, [[jsMath|http://www.math.union.edu/~dpvc/jsMath/]] &ge; 3.0, [[Plugin: jsMath]]|
!Description
This plugin will render numbers expressed in scientific notation, such as {{{3.5483e12}}} using the jsMath plugin to display it in an intuitive way such as 3.5483e12.  You may customize the number of significant figures displayed, as well as "normalize" numbers so that {{{47392.387e9}}} is displayed as 47392.387e9.
!Installation
Install the Requirements, above, add this tiddler to your tiddlywiki, and give it the {{{systemConfig}}} tag.
!History
* 1-Feb-06, version 1.0, Initial release
!Code
***/
//{{{
config.formatters.push({
  name: "scientificNotation",
  match: "\\b[0-9]+\\.[0-9]+[eE][+-]?[0-9]+\\b",
  element: "span",
  className: "math",
  normalize: true,                          // set to 'true' to convert numbers to X.XXX \times 10^{y}
  sigfigs: 3,                               // with this many digits in the mantissa
  handler: function(w) {
    var snRegExp = new RegExp("\\b([0-9]+(?:\\.[0-9]+)?)[eE]([-0-9+]+)\\b");
    var mymatch = snRegExp.exec(w.matchText);
    var mantissa = mymatch[1];
    var exponent = parseInt(mymatch[2]);
    // normalize the number.
    if(this.normalize) {
      mantissa = parseFloat(mantissa);
      while(mantissa > 10.0) {
        mantissa = mantissa / 10.0;
        exponent++; 
      }
      while(mantissa < 1.0) {
        mantissa = mantissa * 10.0;
        exponent--;
      }
      var sigfigsleft = this.sigfigs;
      mantissa = parseInt(mantissa) + "." + (Math.round(Math.pow(10,this.sigfigs-1)*mantissa)+"").substr(1,this.sigfigs-1);
    }
    var e = document.createElement(this.element);
    e.className = this.className;
    if(exponent == 0) {
      e.appendChild(document.createTextNode(mantissa));
    } else {
      e.appendChild(document.createTextNode(mantissa + "\\times 10^{" + exponent + "}"));
    }
    w.output.appendChild(e);
  }
});
//}}}
/***
|Name|Plugin: jsMath|
|Created by|BobMcElrath|
|Email|my first name at my last name dot org|
|Location|http://bob.mcelrath.org/tiddlyjsmath.html|
|Version|1.6|
|Requires|[[TiddlyWiki|http://www.tiddlywiki.com]] &ge; 2.0.3, [[jsMath|http://www.math.union.edu/~dpvc/jsMath/]] &ge; 3.0|
!Description
LaTeX is the world standard for specifying, typesetting, and communicating mathematics among scientists, engineers, and mathematicians.  For more information about LaTeX itself, visit the [[LaTeX Project|http://www.latex-project.org/]].  This plugin typesets math using [[jsMath|http://www.math.union.edu/~dpvc/jsMath/]], which is an implementation of the TeX math rules and typesetting in javascript, for your browser.  Notice the small button in the lower right corner which opens its control panel.
!Installation
In addition to this plugin, you must also [[install jsMath|http://www.math.union.edu/~dpvc/jsMath/download/jsMath.html]] on the same server as your TiddlyWiki html file.  If you're using TiddlyWiki without a web server, then the jsMath directory must be placed in the same location as the TiddlyWiki html file.

I also recommend modifying your StyleSheet use serif fonts that are slightly larger than normal, so that the math matches surrounding text, and \\small fonts are not unreadable (as in exponents and subscripts).
{{{
.viewer {
  line-height: 125%;
  font-family: serif;
  font-size: 12pt;
}
}}}

You may also optionally add the following code to load jsMath in [[MarkupPostHead]] if you desire.
{{{
<!--{{{-->
<script src="jsMath/jsMath.js"></script>
<!--}}}-->
}}}
[[Plugin: jsMath]] will normally load jsMath dynamically using AJAX, but adding the above in [[MarkupPostHead]] may be useful if you have jsMath stored in a non-standard location, or if your browser's cross-site origin policy forbids loading files from file URL's using AJAX.  (e.g. Google Chrome)  
!History
* 11-Nov-05, version 1.0, Initial release
* 22-Jan-06, version 1.1, updated for ~TW2.0, tested with jsMath 3.1, editing tiddlywiki.html by hand is no longer necessary.
* 24-Jan-06, version 1.2, fixes for Safari, Konqueror
* 27-Jan-06, version 1.3, improved error handling, detect if ajax was already defined (used by ZiddlyWiki)
* 12-Jul-06, version 1.4, fixed problem with not finding image fonts
* 26-Feb-07, version 1.5, fixed problem with Mozilla "unterminated character class".
* 27-Feb-07, version 1.5.1, Runs compatibly with TW 2.1.0+, by Bram Chen
* 5-May-11, version 1.6, Use a script tag to load in Chrome, use jQuery for ajax
!Examples
|!Source|!Output|h
|{{{The variable $x$ is real.}}}|The variable $x$ is real.|
|{{{The variable \(y\) is complex.}}}|The variable \(y\) is complex.|
|{{{This \[\int_a^b x = \frac{1}{2}(b^2-a^2)\] is an easy integral.}}}|This \[\int_a^b x = \frac{1}{2}(b^2-a^2)\] is an easy integral.|
|{{{This $$\int_a^b \sin x = -(\cos b - \cos a)$$ is another easy integral.}}}|This $$\int_a^b \sin x = -(\cos b - \cos a)$$ is another easy integral.|
|{{{Block formatted equations may also use the 'equation' environment \begin{equation}  \int \tan x = -\ln \cos x \end{equation} }}}|Block formatted equations may also use the 'equation' environment \begin{equation}  \int \tan x = -\ln \cos x \end{equation}|
|{{{Equation arrays are also supported \begin{eqnarray} a &=& b \\ c &=& d \end{eqnarray} }}}|Equation arrays are also supported \begin{eqnarray} a &=& b \\ c &=& d \end{eqnarray} |
|{{{I spent \$7.38 on lunch.}}}|I spent \$7.38 on lunch.|
|{{{I had to insert a backslash (\\) into my document}}}|I had to insert a backslash (\\) into my document|
!Code
***/
//{{{

// Load jsMath
if(typeof jsMath == 'undefined') {
  jsMath = {
    Setup: {inited: 1},          // don't run jsMath.Setup.Body() yet
    Autoload: {root: new String(document.location).replace(/[^\/]*$/,'jsMath/')}  // URL to jsMath directory, change if necessary
  };
  try {
    jQuery.ajax({url: jsMath.Autoload.root+"jsMath.js", dataType: 'script',
                 async: false, error: function(j, s, e) { throw(e); } });
    jsMath.Setup.inited=0;  //  allow jsMath.Setup.Body() to run again
  } catch(e) {
    if(navigator.userAgent.toLowerCase().indexOf('chrome') > -1
        && document.location.toString().indexOf('file') == 0) {
      var jsMathScript = '<!--{{{-->\n<script src="jsMath/jsMath.js"></script>\n<!--}}}-->';
      var MarkupPostHead = store.fetchTiddler("MarkupPostHead");
      if(MarkupPostHead && !MarkupPostHead.match(jsMathScript)) {
        MarkupPostHead.text += jsMathScript;
      } else {
        MarkupPostHead = store.createTiddler("MarkupPostHead");
        MarkupPostHead.text = jsMathScript;
      }
      throw("jsMath added to MarkupPostHead: now save and reload (Google Chrome cross origin file:/// URL workaround)");
    } else {
      alert("jsMath was not found: you must place the 'jsMath' directory in the same place as this file.  "
           +"The error was:\n"+e.name+": "+e.message);
      throw(e);  // abort eval
    }
  }
}

// Define wikifers for latex
config.formatterHelpers.mathFormatHelper = function(w) {
    var e = document.createElement(this.element);
    e.className = this.className;
    var endRegExp = new RegExp(this.terminator, "mg");
    endRegExp.lastIndex = w.matchStart+w.matchLength;
    var matched = endRegExp.exec(w.source);
    if(matched) {
        var txt = w.source.substr(w.matchStart+w.matchLength, 
            matched.index-w.matchStart-w.matchLength);
        if(this.keepdelim) {
          txt = w.source.substr(w.matchStart, matched.index+matched[0].length-w.matchStart);
        }
        e.appendChild(document.createTextNode(txt));
        w.output.appendChild(e);
        w.nextMatch = endRegExp.lastIndex;
    }
}

config.formatters.push({
  name: "displayMath1",
  match: "\\\$\\\$",
  terminator: "\\\$\\\$\\n?", // 2.0 compatability
  termRegExp: "\\\$\\\$\\n?",
  element: "div",
  className: "math",
  handler: config.formatterHelpers.mathFormatHelper
});

config.formatters.push({
  name: "inlineMath1",
  match: "\\\$", 
  terminator: "\\\$", // 2.0 compatability
  termRegExp: "\\\$",
  element: "span",
  className: "math",
  handler: config.formatterHelpers.mathFormatHelper
});

var backslashformatters = new Array(0);

backslashformatters.push({
  name: "inlineMath2",
  match: "\\\\\\\(",
  terminator: "\\\\\\\)", // 2.0 compatability
  termRegExp: "\\\\\\\)",
  element: "span",
  className: "math",
  handler: config.formatterHelpers.mathFormatHelper
});

backslashformatters.push({
  name: "displayMath2",
  match: "\\\\\\\[",
  terminator: "\\\\\\\]\\n?", // 2.0 compatability
  termRegExp: "\\\\\\\]\\n?",
  element: "div",
  className: "math",
  handler: config.formatterHelpers.mathFormatHelper
});

backslashformatters.push({
  name: "displayMath3",
  match: "\\\\begin\\{equation\\}",
  terminator: "\\\\end\\{equation\\}\\n?", // 2.0 compatability
  termRegExp: "\\\\end\\{equation\\}\\n?",
  element: "div",
  className: "math",
  handler: config.formatterHelpers.mathFormatHelper
});

// These can be nested.  e.g. \begin{equation} \begin{array}{ccc} \begin{array}{ccc} ...
backslashformatters.push({
  name: "displayMath4",
  match: "\\\\begin\\{eqnarray\\}",
  terminator: "\\\\end\\{eqnarray\\}\\n?", // 2.0 compatability
  termRegExp: "\\\\end\\{eqnarray\\}\\n?",
  element: "div",
  className: "math",
  keepdelim: true,
  handler: config.formatterHelpers.mathFormatHelper
});

// The escape must come between backslash formatters and regular ones.
// So any latex-like \commands must be added to the beginning of
// backslashformatters here.
backslashformatters.push({
    name: "escape",
    match: "\\\\.",
    handler: function(w) {
        w.output.appendChild(document.createTextNode(w.source.substr(w.matchStart+1,1)));
        w.nextMatch = w.matchStart+2;
    }
});

config.formatters=backslashformatters.concat(config.formatters);

window.wikify = function(source,output,highlightRegExp,tiddler)
{
    if(source && source != "") {
        if(version.major == 2 && version.minor > 0) {
            var wikifier = new Wikifier(source,getParser(tiddler),highlightRegExp,tiddler);
            wikifier.subWikifyUnterm(output);
        } else {
            var wikifier = new Wikifier(source,formatter,highlightRegExp,tiddler);
            wikifier.subWikify(output,null);
        }
        jsMath.ProcessBeforeShowing();
    }
}
//}}}
PHYS 5201. Thermal and Statistical Physics. Fall Semester 2017
University of Minnesota &nbsp; School of Physics and Astronomy <br>
A:link {text-decoration: none}
A:visited {text-decoration: none}
A:active {text-decoration: none}
A:hover {text-decoration: underline;}
/* A:hover {text-decoration: underline; font-weight:bold}*/

@media print {#mainMenu {display: none ! important;}}
@media print {#topMenu {display: none ! important;}}
@media print {#sidebar {display: none ! important;}}
@media print {#messageArea {display: none ! important;}} 
@media print {#toolbar {display: none ! important;}}
@media print {.header {display: none ! important;}}
@media print {.tiddler .subtitle {display: none ! important;}}
@media print {.tiddler .toolbar {display; none ! important; }}
@media print {.tiddler .tagging {display; none ! important; }}
@media print {.tiddler .tagged {display; none ! important; }}

.justifyright {
  text-align: right;
}
* [[Animations and Simulations]]
* [[Supplementary Reading]]
* Open system trajectories specify fluctuating work but not heat. Peter Talkner, Peter Hanggi. https://arxiv.org/abs/1605.07415
* Direct Measurement of Photon Recoil from a Levitated Nanoparticle: Vijay Jain, Jan Gieseler, Clemens Moritz, Christoph Dellago, Romain Quidant, and Lukas Novotny. Direct Measurement of Photon Recoil from a Levitated Nanoparticle. Phys. Rev. Lett. 116, [[243601|http://journals.aps.org/prl/abstract/10.1103/PhysRevLett.116.243601]] (2016).
!Course Information
''Instructor:'' Jorge Vi&ntilde;als
''Office:'' Tate Hall 130-17
''Contact Information:'' vin&#97;ls&#64;umn.edu
''Office Hours: '' WF, 12:15 p.m. - 1:15 p.m.

''Lecture schedule: '' MWF 11:15 a.m. - 12:05  p.m., Tate Hall B85. 
''TA:'' Fei Chen. chen4577@umn.edu

''Class web site: '' http://phys5201.tiddlyspot.com

!Exams and Final
There will be an in-class mid term exam, and one final exam (December 20, 1:30 p.m. - 4:30 p.m.). There will be several homework assignments during the semester. Typically, the homework will be due one week after being assigned, and may include reading of relevant material. There will be reduced credit for late homeworks: 75% for up to one week late, 50% for up to two weeks late. No credit after that. 

!Required Materials
There is ''no'' required textbook for this class. The class will closely follow a set of notes available online.  The following textbooks cover essentially equivalent material and provide supplementary information.
* Introduction and Review of Statistical Mechanics
** R.F. Sekerka, "Thermodynamics and Statistical Mechanics for Scientists and Engineers". Elsevier, 2015. Available [[online|http://login.ezproxy.lib.umn.edu/login?url=http://www.sciencedirect.com/science/book/9780128033043]] at the ~UofM library.
** F. Schwabl, "Statistical Mechanics" 2nd edition. (Springer, New York, 2006). Available [[online|http://primo.lib.umn.edu/primo_library/libweb/action/display.do?tabs=viewOnlineTab&ct=display&fn=search&doc=dedupmrg93290566&indx=1&recIds=dedupmrg93290566&recIdxs=0&elementId=0&renderMode=poppedOut&displayMode=full&frbrVersion=&dscnt=0&fctN=facet_frbrgroupid&vl%285735710UI0%29=creator&vl%281UI0%29=contains&frbrVersion=3&fctV=36766166&scp.scps=scope%3A%28TWINCITIES%29&tab=default_tab&vl%281UI2%29=contains&dstmp=1438889207194&srt=rank&vl%28boolOperator0%29=AND&mode=Advanced&tb=t&vl%28drStartYear5%29=Year&vl%285573645UI5%29=00&vl%285735713UI1%29=any&vl%28freeText0%29=Statistical%20mechanics&vid=TWINCITIES&vl%28freeText2%29=&vl%28boolOperator2%29=AND&vl%285573640UI4%29=all_items&vl%281UI1%29=contains&frbg=36766166&vl%285573646UI5%29=00&vl%285573644UI5%29=00&vl%28boolOperator1%29=AND&vl%285573648UI5%29=Year&dum=true&vl%28158019639UI2%29=any&vl%285573651UI3%29=all_items&Submit=Search&vl%285573647UI5%29=00&vl%28freeText1%29=]] at the ~UofM library
** D.Chandler, “Introduction to Modern Statistical Mechanics" (Oxford University Press, New York, 1997).
* Special topics.
** N. Goldenfeld, “Lectures on Phase Transitions and the Renormalisation Group". (~Addison-Wesley, Reading, Mass., 1992). Covers in great detail the theory of equilibrium phase transitions and critical phenomena.
** S.-K. Ma. “Statistical Mechanics”. (World Scientific, Philadelphia, 1986). Fairly idiosyncratic treatment.
** P.M. Chaikin and T.C. Lubensky, “Principles of Condensed Matter Physics". (Cambridge University Press, New York, 1995). More advanced, but it covers a large number of topics of interest for this class, and will be useful for PHYS 8702.

!Course goals and objectives
This is a graduate level introduction to classical statistical and thermal physics, and assumes knowledge of the subject at the undergraduate level. In addition to a review of the fundamentals of classical and quantum statistical mechanics, the class focuses on fluctuation phenomena, broken symmetries, and systems displaying long ranged order. An introduction to critical phenomena is also given, including the Renormalization Group. Numerical methods (Molecular Dynamics and Monte Carlo) are also introduced for the calculation of equilibrium quantities. 
!!!Topics
# Review of Thermodynamics. First, second law. Local conditions for equilibrium and thermodynamic potentials. Extensivity and the ~Gibbs-Duhem equation. Stability and response functions.
# Review of Statistical Mechanics. Phase space and probability densities. Large systems, independence of parts, and self-averaging. Central Limit Theorem and Gaussian distributions.
# Basic rules of calculation. Closed systems and Entropy. Systems at constant temperature and chemical potential. Equilibrium distributions and connection with Thermodynamics.
# Ideal systems. Ideal gas and internal modes. Density of states. Debye model of lattice vibrations. Black Body radiation. Equipartition of energy.
# Quantum ideal systems. ~Fermi-Dirac and ~Bose-Einstein statistics. Classical limit. Free electron gas and electrons in a metal. Ideal Bose fluid and Bose condensation.
# Fluctuations. Probability of equilibrium fluctuations and correlations. Reduced configurational distribution functions. Measurement of correlation functions in diffraction experiments.
# Fluctuations and dimensionality, spontaneous broken symmetries. Fluctuations and crystalline order. Goldstone Theorem.
# Phase transitions and critical phenomena. Thermodynamic stability and divergence. Order parameters and critical exponents. Classical mean field and Landau theories.
# Fluctuations at second order phase transitions. Ising model, and ~Ornstein-Zernike theories. Scaling near a critical point and renormalization group analysis of the Ising model.
# Numerical methods in Statistical Mechanics. Molecular Dynamics and Monte Carlo. 

!Grading
|Mid term exam | 20 % |
|Final exam | 40% |
|Homework assignments | 30 % |
|Class participation | 10 % |

!Attendance policy
Class attendance is required.

!Departamental policies
''ATHLETES'' must provide their official University of Minnesota athletic letter containing the approved competition schedule to their instructor and the staff in office 148. Away exams will be arranged with the athletic adviser traveling with the team. Accommodations will be made for official university sports only (i.e. no accommodations will be made for intramurals, club sports, etc.)
''DISABILITY SERVICES:'' If you have accommodations for this course, please provide the staff in office 148 with a copy of your accommodation letter for the current semester. Exams will be arranged according to accommodations and sent to the testing center for administration.

!Mandatory policy information
!!!Student Conduct Code
The University seeks an environment that promotes academic achievement and integrity, that is protective of free inquiry, and that serves the educational mission of the University. Similarly, the University seeks a community that is free from violence, threats, and intimidation; that is respectful of the rights, opportunities, and welfare of students, faculty, staff, and guests of the University; and that does not threaten the physical or mental health or safety of members of the University community. As a student at the University you are expected adhere to Board of Regents Policy: Student Conduct Code. To review the Student Conduct Code, please see: [[Regents Student Conduct Code|http://regents.umn.edu/sites/default/files/policies/Student_Conduct_Code.pdf]]

Note that the conduct code specifically addresses disruptive classroom conduct, which means "engaging in behavior that substantially or repeatedly interrupts either the instructor's ability to teach or student learning. The classroom extends to any setting where a student is engaged in work toward academic credit or satisfaction of program-based requirements or related activities."

!!!Scholastic dishonesty
You are expected to do your own academic work and cite sources as necessary. Failing to do so is scholastic dishonesty. Scholastic dishonesty means plagiarizing; cheating on assignments or examinations; engaging in unauthorized collaboration on academic work; taking, acquiring, or using test materials without faculty permission; submitting false or incomplete records of academic achievement; acting alone or in cooperation with another to falsify records or to obtain dishonestly grades, honors, awards, or professional endorsement; altering, forging, or misusing a University academic record; or fabricating or falsifying data, research procedures, or data analysis ([[Student Conduct Code|http://regents.umn.edu/sites/default/files/policies/Student_Conduct_Code.pdf]]).

If it is determined that a student has cheated, he or she may be given an "F" or an "N" for the course, and may face additional sanctions from the University. For additional information, please see: http://policy.umn.edu/Policies/Education/Education/INSTRUCTORRESP.html.
The Office for Student Conduct and Academic Integrity has compiled a useful list of Frequently Asked Questions pertaining to scholastic dishonesty: http://www1.umn.edu/oscai/integrity/student/index.html. If you have additional questions, please clarify with your instructor for the course. Your instructor can respond to your specific questions regarding what would constitute scholastic dishonesty in the context of a particular class-e.g., whether collaboration on assignments is permitted, requirements and methods for citing sources, if electronic aids are permitted or prohibited during an exam.

!!!Disability Accommodations
The University is committed to providing quality education to all students regardless of ability. Determining appropriate disability accommodations is a collaborative process. You as a student must register with Disability Services and provide documentation of your disability. The course instructor must provide information regarding a course's content, methods, and essential components. The combination of this information will be used by Disability Services to determine appropriate accommodations for a particular student in a particular course. For more information, please reference Disability Services: https://diversity.umn.edu/disability/.

!!!Use of Personal Electronic Devices in the Classroom
Using personal electronic devices in the classroom setting can hinder instruction and learning, not only for the student using the device but also for other students in the class. To this end, the University establishes the right of each faculty member to determine if and how personal electronic devices are allowed to be used in the classroom. For complete information, please reference: http://www.policy.umn.edu/Policies/Education/Education/STUDENTRESP.html

!!!Makeup Work for Legitimate Absences
Students will not be penalized for absence during the semester due to unavoidable or legitimate circumstances. Such circumstances include verified illness, participation in intercollegiate athletic events, subpoenas, jury duty, military service, bereavement, and religious observances. Such circumstances do not include voting in local, state, or national elections. For complete information, please see: http://policy.umn.edu/Policies/Education/Education/MAKEUPWORK.html.

!!!Appropriate Student Use of Class Notes and Course Materials
Taking notes is a means of recording information but more importantly of personally absorbing and integrating the educational experience. However, broadly disseminating class notes beyond the classroom community or accepting compensation for taking and distributing classroom notes undermines instructor interests in their intellectual work product while not substantially furthering instructor and student interests in effective learning. Such actions violate shared norms and standards of the academic community. For additional information, please see: 
http://policy.umn.edu/education/studentresp .

!!!Grading and Transcripts
The University utilizes plus and minus grading on a 4.000 cumulative grade point scale in accordance with the following:
|A |4.000 - Represents achievement that is outstanding relative to the level necessary to meet course requirements|
|A- |3.667 |
|B+ |3.333 |
|B |3.000 - Represents achievement that is significantly above the level necessary to meet course requirements |
|B- |2.667 |
|C+ |2.333 |
|C |2.000 - Represents achievement that meets the course requirements in every respect |
|C- |1.667 |
|D+ |1.333 |
|D |1.000 - Represents achievement that is worthy of credit even though it fails to meet fully the course requirements |
|S |Represents achievement that is satisfactory, which is equivalent to a C- or better. |

For additional information, please refer to: http://policy.umn.edu/Policies/Education/Education/GRADINGTRANSCRIPTS.html.

''Note:'' There are special requirements for graduate students. The University Graduate School requires a GPA minimum of 3.0 in graduate classes. The School of Physics requires a minimum GPA of 3.3 in the required core graduate classes (of which PHYS 5201 is one).

!!!Sexual Harassment
"Sexual harassment" means unwelcome sexual advances, requests for sexual favors, and/or other verbal or physical conduct of a sexual nature. Such conduct has the purpose or effect of unreasonably interfering with an individual's work or academic performance or creating an intimidating, hostile, or offensive working or academic environment in any University activity or program. Such behavior is not acceptable in the University setting. For additional information, please consult Board of Regents Policy: http://www1.umn.edu/regents/policies/humanresources/SexHarassment.html

!!!Equity, Diversity, Equal Opportunity, and Affirmative Action
The University will provide equal access to and opportunity in its programs and facilities, without regard to race, color, creed, religion, national origin, gender, age, marital status, disability, public assistance status, veteran status, sexual orientation, gender identity, or gender expression. For more information, please consult Board of Regents Policy:  http://regents.umn.edu/sites/regents.umn.edu/files/policies/Equity_Diversity_EO_AA.pdf .

!!!Mental Health and Stress Management
As a student you may experience a range of issues that can cause barriers to learning, such as strained relationships, increased anxiety, alcohol/drug problems, feeling down, difficulty concentrating and/or lack of motivation. These mental health concerns or stressful events may lead to diminished academic performance and may reduce your ability to participate in daily activities. University of Minnesota services are available to assist you. You can learn more about the broad range of confidential mental health services available on campus via the Student Mental Health Website: http://www.mentalhealth.umn.edu.
<<timeline modified 20>>
<<cloud systemConfig systemTiddlers DiscoveryPackage IconPackage NavigationPackage>>
/***
|Name|TagCloudPlugin|
|Source|http://www.TiddlyTools.com/#TagCloudPlugin|
|Version|1.7.0|
|Author|Eric Shulman|
|Original Author|Clint Checketts|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|plugin|
|Description|present a 'cloud' of tags (or links) using proportional font display|
!Usage
<<<
{{{
<<cloud type action:... limit:... tag tag tag ...>>
<<cloud type action:... limit:... +TiddlerName>>
<<cloud type action:... limit:... -TiddlerName>>
<<cloud type action:... limit:... =tagvalue>>
}}}
where:
* //type// is a keyword, one of:
** ''tags'' (default) - displays a cloud of tags, based on frequency of use
** ''links'' - displays a cloud of tiddlers, based on number of links //from// each tiddler
** ''references'' - displays a cloud of tiddlers, based on number of links //to// each tiddler
* ''action:popup'' (default) - clicking a cloud item shows a popup with links to related tiddlers<br>//or//<br> ''action:goto'' - clicking a cloud item immediately opens the tiddler corresponding to that item
* ''limit:N'' (optional) - restricts the cloud display to only show the N most popular tags/links
* ''tag tag tag...'' (or ''title title title'' if ''links''/''references'' is used)<br>shows all tags/links in the document //except// for those listed as macro parameters
* ''+TiddlerName''<br>show only tags/links read from a space-separated, bracketed list stored in a separate tiddler.
* ''-TiddlerName''<br>show all tags/links //except// those read from a space-separated, bracketed list stored in a separate tiddler.
* ''=tagvalue'' (//only if type=''tags''//)<br>shows only tags that are themselves tagged with the indicated tag value (i.e., ~TagglyTagging usage)
//note: for backward-compatibility, you can also use the macro {{{<<tagCloud ...>>}}} in place of {{{<<cloud ...>>}}}//
<<<
!Examples
<<<
//all tags excluding<<tag systemConfig>>, <<tag excludeMissing>> and <<tag script>>//
{{{<<cloud systemConfig excludeMissing script>>}}}
{{groupbox{<<cloud systemConfig excludeMissing script>>}}}
//top 10 tags excluding<<tag systemConfig>>, <<tag excludeMissing>> and <<tag script>>//
{{{<<cloud limit:10 systemConfig excludeMissing script>>}}}
{{groupbox{<<cloud limit:10 systemConfig excludeMissing script>>}}}
//tags listed in// [[FavoriteTags]]
{{{<<cloud +FavoriteTags>>}}}
{{groupbox{<<cloud +FavoriteTags>>}}}
//tags NOT listed in// [[FavoriteTags]]
{{{<<cloud -FavoriteTags>>}}}
{{groupbox{<<cloud -FavoriteTags>>}}}
//links to tiddlers tagged with 'package'//
{{{<<cloud action:goto =package>>}}}
{{groupbox{<<cloud action:goto =package>>}}}
//top 20 most referenced tiddlers//
{{{<<cloud references limit:20>>}}}
{{groupbox{<<cloud references limit:20>>}}}
//top 20 tiddlers that contain the most links//
{{{<<cloud links limit:20>>}}}
{{groupbox{<<cloud links limit:20>>}}}
<<<
!Revisions
<<<
2009.07.17 [1.7.0] added {{{-TiddlerName}}} parameter to exclude tags that are listed in the indicated tiddler
2009.02.26 [1.6.0] added {{{action:...}}} parameter to apply popup vs. goto action when clicking cloud items
2009.02.05 [1.5.0] added ability to show links or back-links (references) instead of tags and renamed macro to {{{<<cloud>>}}} to reflect more generalized usage.
2008.12.16 [1.4.2] corrected group calculation to prevent 'group=0' error
2008.12.16 [1.4.1] revised tag filtering so excluded tags don't affect calculations
2008.12.15 [1.4.0] added {{{limit:...}}} parameter to restrict the number of tags displayed to the top N most popular
2008.11.15 [1.3.0] added {{{+TiddlerName}}} parameter to include only tags that are listed in the indicated tiddler
2008.09.05 [1.2.0] added '=tagname' parameter to include only tags that are themselves tagged with the specified value (i.e., ~TagglyTagging usage)
2008.07.03 [1.1.0] added 'segments' property to macro object.  Extensive code cleanup
<<<
!Code
***/
//{{{
version.extensions.TagCloudPlugin= {major: 1, minor: 7 , revision: 0, date: new Date(2009,7,17)};
//Originally created by Clint Checketts, contributions by Jonny Leroy and Eric Shulman
//Currently maintained and enhanced by Eric Shulman
//}}}
//{{{
config.macros.cloud = {
	tagstip: "%1 tiddlers tagged with '%0'",
	refslabel: " (%0 references)",
	refstip: "%1 tiddlers have links to '%0'",
	linkslabel: " (%0 links)",
	linkstip: "'%0' has links to %1 other tiddlers",
	groups: 9,
	init: function() {
		config.macros.tagCloud=config.macros.cloud; // for backward-compatibility
		config.shadowTiddlers.TagCloud='<<cloud>>';
		config.shadowTiddlers.StyleSheetTagCloud=
			'/*{{{*/\n'
			+'.tagCloud span {line-height: 3.5em; margin:3px;}\n'
			+'.tagCloud1{font-size: 80%;}\n'
			+'.tagCloud2{font-size: 100%;}\n'
			+'.tagCloud3{font-size: 120%;}\n'
			+'.tagCloud4{font-size: 140%;}\n'
			+'.tagCloud5{font-size: 160%;}\n'
			+'.tagCloud6{font-size: 180%;}\n'
			+'.tagCloud7{font-size: 200%;}\n'
			+'.tagCloud8{font-size: 220%;}\n'
			+'.tagCloud9{font-size: 240%;}\n'
			+'/*}}}*/\n';
		setStylesheet(store.getTiddlerText('StyleSheetTagCloud'),'tagCloudsStyles');
	},
	getLinks: function(tiddler) { // get list of links to existing tiddlers and shadows
		if (!tiddler.linksUpdated) tiddler.changed();
		var list=[]; for (var i=0; i<tiddler.links.length; i++) {
			var title=tiddler.links[i];
			if (store.isShadowTiddler(title)||store.tiddlerExists(title))
				list.push(title);
		}
		return list;
	},
	handler: function(place,macroName,params) {
		// unpack params
		var inc=[]; var ex=[]; var limit=0; var action='popup';
		var links=(params[0]&&params[0].toLowerCase()=='links'); if (links) params.shift();
		var refs=(params[0]&&params[0].toLowerCase()=='references'); if (refs) params.shift();
		if (params[0]&&params[0].substr(0,7).toLowerCase()=='action:')
			action=params.shift().substr(7).toLowerCase();
		if (params[0]&&params[0].substr(0,6).toLowerCase()=='limit:')
			limit=parseInt(params.shift().substr(6));
		while (params.length) {
			if (params[0].substr(0,1)=='+') { // read taglist from tiddler
				inc=inc.concat(store.getTiddlerText(params[0].substr(1),'').readBracketedList());
			} else if (params[0].substr(0,1)=='-') { // exclude taglist from tiddler
				ex=ex.concat(store.getTiddlerText(params[0].substr(1),'').readBracketedList());
			} else if (params[0].substr(0,1)=='=') { // get tag list using tagged tags
				var tagged=store.getTaggedTiddlers(params[0].substr(1));
				for (var t=0; t<tagged.length; t++) inc.push(tagged[t].title);
			} else ex.push(params[0]); // exclude params
			params.shift();
		}
		// get all items, include/exclude specific items
		var items=[];
		var list=(links||refs)?store.getTiddlers('title','excludeLists'):store.getTags();
		for (var t=0; t<list.length; t++) {
			var title=(links||refs)?list[t].title:list[t][0];
			if (links)	var count=this.getLinks(list[t]).length;
			else if (refs)	var count=store.getReferringTiddlers(title).length;
			else 		var count=list[t][1];
			if ((!inc.length||inc.contains(title))&&(!ex.length||!ex.contains(title)))
				items.push({ title:title, count:count });
		}
		if(!items.length) return;
		// sort by decending count, limit results (optional)
		items=items.sort(function(a,b){return(a.count==b.count)?0:(a.count>b.count?-1:1);});
		while (limit && items.length>limit) items.pop();
		// find min/max and group size
		var most=items[0].count;
		var least=items[items.length-1].count;
		var groupSize=(most-least+1)/this.groups;
		// sort by title and draw the cloud of items
		items=items.sort(function(a,b){return(a.title==b.title)?0:(a.title>b.title?1:-1);});
		var cloudWrapper = createTiddlyElement(place,'div',null,'tagCloud',null);
		for (var t=0; t<items.length; t++) {
			cloudWrapper.appendChild(document.createTextNode(' '));
			var group=Math.ceil((items[t].count-least)/groupSize)||1;
			var className='tagCloudtag tagCloud'+group;
			var tip=refs?this.refstip:links?this.linkstip:this.tagstip;
			tip=tip.format([items[t].title,items[t].count]);
			if (action=='goto') { // TAG/LINK/REFERENCES GOTO
				var btn=createTiddlyLink(cloudWrapper,items[t].title,true,className);
				btn.title=tip;
				btn.style.fontWeight='normal';
			} else if (!links&&!refs) { // TAG POPUP
				var btn=createTiddlyButton(cloudWrapper,items[t].title,tip,onClickTag,className);
				btn.setAttribute('tag',items[t].title);
			} else { // LINK/REFERENCES POPUP
				var btn=createTiddlyButton(cloudWrapper,items[t].title,tip,
					function(ev) { var e=ev||window.event; var cmt=config.macros.cloud;
						var popup = Popup.create(this);
						var title = this.getAttribute('tiddler');
						var count = this.getAttribute('count');
						var refs  = this.getAttribute('refs')=='T';
						var links = this.getAttribute('links')=='T';
						var label = (refs?cmt.refslabel:cmt.linkslabel).format([count]);
						createTiddlyLink(popup,title,true);
						createTiddlyText(popup,label);
						createTiddlyElement(popup,'hr');
						if (refs) {
							popup.setAttribute('tiddler',title);
							config.commands.references.handlePopup(popup,title);
						}
						if (links) {
							var tiddler = store.fetchTiddler(title);
							var links=config.macros.cloud.getLinks(tiddler);
							for(var i=0;i<links.length;i++)
								createTiddlyLink(createTiddlyElement(popup,'li'),
									links[i],true);
						}
						Popup.show();
						e.cancelBubble=true; if(e.stopPropagation) e.stopPropagation();
						return false;
					}, className);
				btn.setAttribute('tiddler',items[t].title);
				btn.setAttribute('count',items[t].count);
				btn.setAttribute('refs',refs?'T':'F');
				btn.setAttribute('links',links?'T':'F');
				btn.title=tip;
			}
		}
	}
};
//}}}
/***
Description: Contains the stuff you need to use Tiddlyspot
Note, you also need UploadPlugin, PasswordOptionPlugin and LoadRemoteFileThroughProxy
from http://tiddlywiki.bidix.info for a complete working Tiddlyspot site.
***/
//{{{

// edit this if you are migrating sites or retrofitting an existing TW
config.tiddlyspotSiteId = 'phys5201';

// make it so you can by default see edit controls via http
config.options.chkHttpReadOnly = false;
window.readOnly = false; // make sure of it (for tw 2.2)
window.showBackstage = true; // show backstage too

// disable autosave in d3
if (window.location.protocol != "file:")
	config.options.chkGTDLazyAutoSave = false;

// tweak shadow tiddlers to add upload button, password entry box etc
with (config.shadowTiddlers) {
	SiteUrl = 'http://'+config.tiddlyspotSiteId+'.tiddlyspot.com';
	SideBarOptions = SideBarOptions.replace(/(<<saveChanges>>)/,"$1<<tiddler TspotSidebar>>");
	OptionsPanel = OptionsPanel.replace(/^/,"<<tiddler TspotOptions>>");
	DefaultTiddlers = DefaultTiddlers.replace(/^/,"[[WelcomeToTiddlyspot]] ");
	MainMenu = MainMenu.replace(/^/,"[[WelcomeToTiddlyspot]] ");
}

// create some shadow tiddler content
merge(config.shadowTiddlers,{

'TspotControls':[
 "| tiddlyspot password:|<<option pasUploadPassword>>|",
 "| site management:|<<upload http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/store.cgi index.html . .  " + config.tiddlyspotSiteId + ">>//(requires tiddlyspot password)//<br>[[control panel|http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/controlpanel]], [[download (go offline)|http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/download]]|",
 "| links:|[[tiddlyspot.com|http://tiddlyspot.com/]], [[FAQs|http://faq.tiddlyspot.com/]], [[blog|http://tiddlyspot.blogspot.com/]], email [[support|mailto:support@tiddlyspot.com]] & [[feedback|mailto:feedback@tiddlyspot.com]], [[donate|http://tiddlyspot.com/?page=donate]]|"
].join("\n"),

'TspotOptions':[
 "tiddlyspot password:",
 "<<option pasUploadPassword>>",
 ""
].join("\n"),

'TspotSidebar':[
 "<<upload http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/store.cgi index.html . .  " + config.tiddlyspotSiteId + ">><html><a href='http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/download' class='button'>download</a></html>"
].join("\n"),

'WelcomeToTiddlyspot':[
 "This document is a ~TiddlyWiki from tiddlyspot.com.  A ~TiddlyWiki is an electronic notebook that is great for managing todo lists, personal information, and all sorts of things.",
 "",
 "@@font-weight:bold;font-size:1.3em;color:#444; //What now?// &nbsp;&nbsp;@@ Before you can save any changes, you need to enter your password in the form below.  Then configure privacy and other site settings at your [[control panel|http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/controlpanel]] (your control panel username is //" + config.tiddlyspotSiteId + "//).",
 "<<tiddler TspotControls>>",
 "See also GettingStarted.",
 "",
 "@@font-weight:bold;font-size:1.3em;color:#444; //Working online// &nbsp;&nbsp;@@ You can edit this ~TiddlyWiki right now, and save your changes using the \"save to web\" button in the column on the right.",
 "",
 "@@font-weight:bold;font-size:1.3em;color:#444; //Working offline// &nbsp;&nbsp;@@ A fully functioning copy of this ~TiddlyWiki can be saved onto your hard drive or USB stick.  You can make changes and save them locally without being connected to the Internet.  When you're ready to sync up again, just click \"upload\" and your ~TiddlyWiki will be saved back to tiddlyspot.com.",
 "",
 "@@font-weight:bold;font-size:1.3em;color:#444; //Help!// &nbsp;&nbsp;@@ Find out more about ~TiddlyWiki at [[TiddlyWiki.com|http://tiddlywiki.com]].  Also visit [[TiddlyWiki.org|http://tiddlywiki.org]] for documentation on learning and using ~TiddlyWiki. New users are especially welcome on the [[TiddlyWiki mailing list|http://groups.google.com/group/TiddlyWiki]], which is an excellent place to ask questions and get help.  If you have a tiddlyspot related problem email [[tiddlyspot support|mailto:support@tiddlyspot.com]].",
 "",
 "@@font-weight:bold;font-size:1.3em;color:#444; //Enjoy :)// &nbsp;&nbsp;@@ We hope you like using your tiddlyspot.com site.  Please email [[feedback@tiddlyspot.com|mailto:feedback@tiddlyspot.com]] with any comments or suggestions."
].join("\n")

});
//}}}
| !date | !user | !location | !storeUrl | !uploadDir | !toFilename | !backupdir | !origin |
| 25/09/2017 11:07:51 | Jorge | [[/|http://phys5201.tiddlyspot.com/]] | [[store.cgi|http://phys5201.tiddlyspot.com/store.cgi]] | . | [[index.html | http://phys5201.tiddlyspot.com/index.html]] | . | ok |
| 25/09/2017 11:09:36 | Jorge | [[/|http://phys5201.tiddlyspot.com/]] | [[store.cgi|http://phys5201.tiddlyspot.com/store.cgi]] | . | [[index.html | http://phys5201.tiddlyspot.com/index.html]] | . |
| 26/09/2017 13:31:38 | Jorge | [[/|http://phys5201.tiddlyspot.com/]] | [[store.cgi|http://phys5201.tiddlyspot.com/store.cgi]] | . | [[index.html | http://phys5201.tiddlyspot.com/index.html]] | . |
| 27/09/2017 12:15:57 | Jorge | [[/|http://phys5201.tiddlyspot.com/]] | [[store.cgi|http://phys5201.tiddlyspot.com/store.cgi]] | . | [[index.html | http://phys5201.tiddlyspot.com/index.html]] | . |
| 27/09/2017 12:44:23 | Jorge | [[/|http://phys5201.tiddlyspot.com/]] | [[store.cgi|http://phys5201.tiddlyspot.com/store.cgi]] | . | [[index.html | http://phys5201.tiddlyspot.com/index.html]] | . |
| 27/09/2017 13:47:00 | Jorge | [[/|http://phys5201.tiddlyspot.com/]] | [[store.cgi|http://phys5201.tiddlyspot.com/store.cgi]] | . | [[index.html | http://phys5201.tiddlyspot.com/index.html]] | . |
| 09/10/2017 09:29:48 | Jorge | [[/|http://phys5201.tiddlyspot.com/]] | [[store.cgi|http://phys5201.tiddlyspot.com/store.cgi]] | . | [[index.html | http://phys5201.tiddlyspot.com/index.html]] | . |
| 10/10/2017 14:24:12 | Jorge | [[/|http://phys5201.tiddlyspot.com/]] | [[store.cgi|http://phys5201.tiddlyspot.com/store.cgi]] | . | [[index.html | http://phys5201.tiddlyspot.com/index.html]] | . |
| 18/10/2017 13:39:53 | Jorge | [[/|http://phys5201.tiddlyspot.com/]] | [[store.cgi|http://phys5201.tiddlyspot.com/store.cgi]] | . | [[index.html | http://phys5201.tiddlyspot.com/index.html]] | . | ok |
| 18/10/2017 13:52:47 | Jorge | [[/|http://phys5201.tiddlyspot.com/]] | [[store.cgi|http://phys5201.tiddlyspot.com/store.cgi]] | . | [[index.html | http://phys5201.tiddlyspot.com/index.html]] | . |
/***
|''Name:''|UploadPlugin|
|''Description:''|Save to web a TiddlyWiki|
|''Version:''|4.1.3|
|''Date:''|Feb 24, 2008|
|''Source:''|http://tiddlywiki.bidix.info/#UploadPlugin|
|''Documentation:''|http://tiddlywiki.bidix.info/#UploadPluginDoc|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
|''~CoreVersion:''|2.2.0|
|''Requires:''|PasswordOptionPlugin|
***/
//{{{
version.extensions.UploadPlugin = {
	major: 4, minor: 1, revision: 3,
	date: new Date("Feb 24, 2008"),
	source: 'http://tiddlywiki.bidix.info/#UploadPlugin',
	author: 'BidiX (BidiX (at) bidix (dot) info',
	coreVersion: '2.2.0'
};

//
// Environment
//

if (!window.bidix) window.bidix = {}; // bidix namespace
bidix.debugMode = false;	// true to activate both in Plugin and UploadService
	
//
// Upload Macro
//

config.macros.upload = {
// default values
	defaultBackupDir: '',	//no backup
	defaultStoreScript: "store.php",
	defaultToFilename: "index.html",
	defaultUploadDir: ".",
	authenticateUser: true	// UploadService Authenticate User
};
	
config.macros.upload.label = {
	promptOption: "Save and Upload this TiddlyWiki with UploadOptions",
	promptParamMacro: "Save and Upload this TiddlyWiki in %0",
	saveLabel: "save to web", 
	saveToDisk: "save to disk",
	uploadLabel: "upload"	
};

config.macros.upload.messages = {
	noStoreUrl: "No store URL in parmeters or options",
	usernameOrPasswordMissing: "Username or password missing"
};

config.macros.upload.handler = function(place,macroName,params) {
	if (readOnly)
		return;
	var label;
	if (document.location.toString().substr(0,4) == "http") 
		label = this.label.saveLabel;
	else
		label = this.label.uploadLabel;
	var prompt;
	if (params[0]) {
		prompt = this.label.promptParamMacro.toString().format([this.destFile(params[0], 
			(params[1] ? params[1]:bidix.basename(window.location.toString())), params[3])]);
	} else {
		prompt = this.label.promptOption;
	}
	createTiddlyButton(place, label, prompt, function() {config.macros.upload.action(params);}, null, null, this.accessKey);
};

config.macros.upload.action = function(params)
{
		// for missing macro parameter set value from options
		if (!params) params = {};
		var storeUrl = params[0] ? params[0] : config.options.txtUploadStoreUrl;
		var toFilename = params[1] ? params[1] : config.options.txtUploadFilename;
		var backupDir = params[2] ? params[2] : config.options.txtUploadBackupDir;
		var uploadDir = params[3] ? params[3] : config.options.txtUploadDir;
		var username = params[4] ? params[4] : config.options.txtUploadUserName;
		var password = config.options.pasUploadPassword; // for security reason no password as macro parameter	
		// for still missing parameter set default value
		if ((!storeUrl) && (document.location.toString().substr(0,4) == "http")) 
			storeUrl = bidix.dirname(document.location.toString())+'/'+config.macros.upload.defaultStoreScript;
		if (storeUrl.substr(0,4) != "http")
			storeUrl = bidix.dirname(document.location.toString()) +'/'+ storeUrl;
		if (!toFilename)
			toFilename = bidix.basename(window.location.toString());
		if (!toFilename)
			toFilename = config.macros.upload.defaultToFilename;
		if (!uploadDir)
			uploadDir = config.macros.upload.defaultUploadDir;
		if (!backupDir)
			backupDir = config.macros.upload.defaultBackupDir;
		// report error if still missing
		if (!storeUrl) {
			alert(config.macros.upload.messages.noStoreUrl);
			clearMessage();
			return false;
		}
		if (config.macros.upload.authenticateUser && (!username || !password)) {
			alert(config.macros.upload.messages.usernameOrPasswordMissing);
			clearMessage();
			return false;
		}
		bidix.upload.uploadChanges(false,null,storeUrl, toFilename, uploadDir, backupDir, username, password); 
		return false; 
};

config.macros.upload.destFile = function(storeUrl, toFilename, uploadDir) 
{
	if (!storeUrl)
		return null;
		var dest = bidix.dirname(storeUrl);
		if (uploadDir && uploadDir != '.')
			dest = dest + '/' + uploadDir;
		dest = dest + '/' + toFilename;
	return dest;
};

//
// uploadOptions Macro
//

config.macros.uploadOptions = {
	handler: function(place,macroName,params) {
		var wizard = new Wizard();
		wizard.createWizard(place,this.wizardTitle);
		wizard.addStep(this.step1Title,this.step1Html);
		var markList = wizard.getElement("markList");
		var listWrapper = document.createElement("div");
		markList.parentNode.insertBefore(listWrapper,markList);
		wizard.setValue("listWrapper",listWrapper);
		this.refreshOptions(listWrapper,false);
		var uploadCaption;
		if (document.location.toString().substr(0,4) == "http") 
			uploadCaption = config.macros.upload.label.saveLabel;
		else
			uploadCaption = config.macros.upload.label.uploadLabel;
		
		wizard.setButtons([
				{caption: uploadCaption, tooltip: config.macros.upload.label.promptOption, 
					onClick: config.macros.upload.action},
				{caption: this.cancelButton, tooltip: this.cancelButtonPrompt, onClick: this.onCancel}
				
			]);
	},
	options: [
		"txtUploadUserName",
		"pasUploadPassword",
		"txtUploadStoreUrl",
		"txtUploadDir",
		"txtUploadFilename",
		"txtUploadBackupDir",
		"chkUploadLog",
		"txtUploadLogMaxLine"		
	],
	refreshOptions: function(listWrapper) {
		var opts = [];
		for(i=0; i<this.options.length; i++) {
			var opt = {};
			opts.push();
			opt.option = "";
			n = this.options[i];
			opt.name = n;
			opt.lowlight = !config.optionsDesc[n];
			opt.description = opt.lowlight ? this.unknownDescription : config.optionsDesc[n];
			opts.push(opt);
		}
		var listview = ListView.create(listWrapper,opts,this.listViewTemplate);
		for(n=0; n<opts.length; n++) {
			var type = opts[n].name.substr(0,3);
			var h = config.macros.option.types[type];
			if (h && h.create) {
				h.create(opts[n].colElements['option'],type,opts[n].name,opts[n].name,"no");
			}
		}
		
	},
	onCancel: function(e)
	{
		backstage.switchTab(null);
		return false;
	},
	
	wizardTitle: "Upload with options",
	step1Title: "These options are saved in cookies in your browser",
	step1Html: "<input type='hidden' name='markList'></input><br>",
	cancelButton: "Cancel",
	cancelButtonPrompt: "Cancel prompt",
	listViewTemplate: {
		columns: [
			{name: 'Description', field: 'description', title: "Description", type: 'WikiText'},
			{name: 'Option', field: 'option', title: "Option", type: 'String'},
			{name: 'Name', field: 'name', title: "Name", type: 'String'}
			],
		rowClasses: [
			{className: 'lowlight', field: 'lowlight'} 
			]}
};

//
// upload functions
//

if (!bidix.upload) bidix.upload = {};

if (!bidix.upload.messages) bidix.upload.messages = {
	//from saving
	invalidFileError: "The original file '%0' does not appear to be a valid TiddlyWiki",
	backupSaved: "Backup saved",
	backupFailed: "Failed to upload backup file",
	rssSaved: "RSS feed uploaded",
	rssFailed: "Failed to upload RSS feed file",
	emptySaved: "Empty template uploaded",
	emptyFailed: "Failed to upload empty template file",
	mainSaved: "Main TiddlyWiki file uploaded",
	mainFailed: "Failed to upload main TiddlyWiki file. Your changes have not been saved",
	//specific upload
	loadOriginalHttpPostError: "Can't get original file",
	aboutToSaveOnHttpPost: 'About to upload on %0 ...',
	storePhpNotFound: "The store script '%0' was not found."
};

bidix.upload.uploadChanges = function(onlyIfDirty,tiddlers,storeUrl,toFilename,uploadDir,backupDir,username,password)
{
	var callback = function(status,uploadParams,original,url,xhr) {
		if (!status) {
			displayMessage(bidix.upload.messages.loadOriginalHttpPostError);
			return;
		}
		if (bidix.debugMode) 
			alert(original.substr(0,500)+"\n...");
		// Locate the storeArea div's 
		var posDiv = locateStoreArea(original);
		if((posDiv[0] == -1) || (posDiv[1] == -1)) {
			alert(config.messages.invalidFileError.format([localPath]));
			return;
		}
		bidix.upload.uploadRss(uploadParams,original,posDiv);
	};
	
	if(onlyIfDirty && !store.isDirty())
		return;
	clearMessage();
	// save on localdisk ?
	if (document.location.toString().substr(0,4) == "file") {
		var path = document.location.toString();
		var localPath = getLocalPath(path);
		saveChanges();
	}
	// get original
	var uploadParams = new Array(storeUrl,toFilename,uploadDir,backupDir,username,password);
	var originalPath = document.location.toString();
	// If url is a directory : add index.html
	if (originalPath.charAt(originalPath.length-1) == "/")
		originalPath = originalPath + "index.html";
	var dest = config.macros.upload.destFile(storeUrl,toFilename,uploadDir);
	var log = new bidix.UploadLog();
	log.startUpload(storeUrl, dest, uploadDir,  backupDir);
	displayMessage(bidix.upload.messages.aboutToSaveOnHttpPost.format([dest]));
	if (bidix.debugMode) 
		alert("about to execute Http - GET on "+originalPath);
	var r = doHttp("GET",originalPath,null,null,username,password,callback,uploadParams,null);
	if (typeof r == "string")
		displayMessage(r);
	return r;
};

bidix.upload.uploadRss = function(uploadParams,original,posDiv) 
{
	var callback = function(status,params,responseText,url,xhr) {
		if(status) {
			var destfile = responseText.substring(responseText.indexOf("destfile:")+9,responseText.indexOf("\n", responseText.indexOf("destfile:")));
			displayMessage(bidix.upload.messages.rssSaved,bidix.dirname(url)+'/'+destfile);
			bidix.upload.uploadMain(params[0],params[1],params[2]);
		} else {
			displayMessage(bidix.upload.messages.rssFailed);			
		}
	};
	// do uploadRss
	if(config.options.chkGenerateAnRssFeed) {
		var rssPath = uploadParams[1].substr(0,uploadParams[1].lastIndexOf(".")) + ".xml";
		var rssUploadParams = new Array(uploadParams[0],rssPath,uploadParams[2],'',uploadParams[4],uploadParams[5]);
		var rssString = generateRss();
		// no UnicodeToUTF8 conversion needed when location is "file" !!!
		if (document.location.toString().substr(0,4) != "file")
			rssString = convertUnicodeToUTF8(rssString);	
		bidix.upload.httpUpload(rssUploadParams,rssString,callback,Array(uploadParams,original,posDiv));
	} else {
		bidix.upload.uploadMain(uploadParams,original,posDiv);
	}
};

bidix.upload.uploadMain = function(uploadParams,original,posDiv) 
{
	var callback = function(status,params,responseText,url,xhr) {
		var log = new bidix.UploadLog();
		if(status) {
			// if backupDir specified
			if ((params[3]) && (responseText.indexOf("backupfile:") > -1))  {
				var backupfile = responseText.substring(responseText.indexOf("backupfile:")+11,responseText.indexOf("\n", responseText.indexOf("backupfile:")));
				displayMessage(bidix.upload.messages.backupSaved,bidix.dirname(url)+'/'+backupfile);
			}
			var destfile = responseText.substring(responseText.indexOf("destfile:")+9,responseText.indexOf("\n", responseText.indexOf("destfile:")));
			displayMessage(bidix.upload.messages.mainSaved,bidix.dirname(url)+'/'+destfile);
			store.setDirty(false);
			log.endUpload("ok");
		} else {
			alert(bidix.upload.messages.mainFailed);
			displayMessage(bidix.upload.messages.mainFailed);
			log.endUpload("failed");			
		}
	};
	// do uploadMain
	var revised = bidix.upload.updateOriginal(original,posDiv);
	bidix.upload.httpUpload(uploadParams,revised,callback,uploadParams);
};

bidix.upload.httpUpload = function(uploadParams,data,callback,params)
{
	var localCallback = function(status,params,responseText,url,xhr) {
		url = (url.indexOf("nocache=") < 0 ? url : url.substring(0,url.indexOf("nocache=")-1));
		if (xhr.status == 404)
			alert(bidix.upload.messages.storePhpNotFound.format([url]));
		if ((bidix.debugMode) || (responseText.indexOf("Debug mode") >= 0 )) {
			alert(responseText);
			if (responseText.indexOf("Debug mode") >= 0 )
				responseText = responseText.substring(responseText.indexOf("\n\n")+2);
		} else if (responseText.charAt(0) != '0') 
			alert(responseText);
		if (responseText.charAt(0) != '0')
			status = null;
		callback(status,params,responseText,url,xhr);
	};
	// do httpUpload
	var boundary = "---------------------------"+"AaB03x";	
	var uploadFormName = "UploadPlugin";
	// compose headers data
	var sheader = "";
	sheader += "--" + boundary + "\r\nContent-disposition: form-data; name=\"";
	sheader += uploadFormName +"\"\r\n\r\n";
	sheader += "backupDir="+uploadParams[3] +
				";user=" + uploadParams[4] +
				";password=" + uploadParams[5] +
				";uploaddir=" + uploadParams[2];
	if (bidix.debugMode)
		sheader += ";debug=1";
	sheader += ";;\r\n"; 
	sheader += "\r\n" + "--" + boundary + "\r\n";
	sheader += "Content-disposition: form-data; name=\"userfile\"; filename=\""+uploadParams[1]+"\"\r\n";
	sheader += "Content-Type: text/html;charset=UTF-8" + "\r\n";
	sheader += "Content-Length: " + data.length + "\r\n\r\n";
	// compose trailer data
	var strailer = new String();
	strailer = "\r\n--" + boundary + "--\r\n";
	data = sheader + data + strailer;
	if (bidix.debugMode) alert("about to execute Http - POST on "+uploadParams[0]+"\n with \n"+data.substr(0,500)+ " ... ");
	var r = doHttp("POST",uploadParams[0],data,"multipart/form-data; ;charset=UTF-8; boundary="+boundary,uploadParams[4],uploadParams[5],localCallback,params,null);
	if (typeof r == "string")
		displayMessage(r);
	return r;
};

// same as Saving's updateOriginal but without convertUnicodeToUTF8 calls
bidix.upload.updateOriginal = function(original, posDiv)
{
	if (!posDiv)
		posDiv = locateStoreArea(original);
	if((posDiv[0] == -1) || (posDiv[1] == -1)) {
		alert(config.messages.invalidFileError.format([localPath]));
		return;
	}
	var revised = original.substr(0,posDiv[0] + startSaveArea.length) + "\n" +
				store.allTiddlersAsHtml() + "\n" +
				original.substr(posDiv[1]);
	var newSiteTitle = getPageTitle().htmlEncode();
	revised = revised.replaceChunk("<title"+">","</title"+">"," " + newSiteTitle + " ");
	revised = updateMarkupBlock(revised,"PRE-HEAD","MarkupPreHead");
	revised = updateMarkupBlock(revised,"POST-HEAD","MarkupPostHead");
	revised = updateMarkupBlock(revised,"PRE-BODY","MarkupPreBody");
	revised = updateMarkupBlock(revised,"POST-SCRIPT","MarkupPostBody");
	return revised;
};

//
// UploadLog
// 
// config.options.chkUploadLog :
//		false : no logging
//		true : logging
// config.options.txtUploadLogMaxLine :
//		-1 : no limit
//      0 :  no Log lines but UploadLog is still in place
//		n :  the last n lines are only kept
//		NaN : no limit (-1)

bidix.UploadLog = function() {
	if (!config.options.chkUploadLog) 
		return; // this.tiddler = null
	this.tiddler = store.getTiddler("UploadLog");
	if (!this.tiddler) {
		this.tiddler = new Tiddler();
		this.tiddler.title = "UploadLog";
		this.tiddler.text = "| !date | !user | !location | !storeUrl | !uploadDir | !toFilename | !backupdir | !origin |";
		this.tiddler.created = new Date();
		this.tiddler.modifier = config.options.txtUserName;
		this.tiddler.modified = new Date();
		store.addTiddler(this.tiddler);
	}
	return this;
};

bidix.UploadLog.prototype.addText = function(text) {
	if (!this.tiddler)
		return;
	// retrieve maxLine when we need it
	var maxLine = parseInt(config.options.txtUploadLogMaxLine,10);
	if (isNaN(maxLine))
		maxLine = -1;
	// add text
	if (maxLine != 0) 
		this.tiddler.text = this.tiddler.text + text;
	// Trunck to maxLine
	if (maxLine >= 0) {
		var textArray = this.tiddler.text.split('\n');
		if (textArray.length > maxLine + 1)
			textArray.splice(1,textArray.length-1-maxLine);
			this.tiddler.text = textArray.join('\n');		
	}
	// update tiddler fields
	this.tiddler.modifier = config.options.txtUserName;
	this.tiddler.modified = new Date();
	store.addTiddler(this.tiddler);
	// refresh and notifiy for immediate update
	story.refreshTiddler(this.tiddler.title);
	store.notify(this.tiddler.title, true);
};

bidix.UploadLog.prototype.startUpload = function(storeUrl, toFilename, uploadDir,  backupDir) {
	if (!this.tiddler)
		return;
	var now = new Date();
	var text = "\n| ";
	var filename = bidix.basename(document.location.toString());
	if (!filename) filename = '/';
	text += now.formatString("0DD/0MM/YYYY 0hh:0mm:0ss") +" | ";
	text += config.options.txtUserName + " | ";
	text += "[["+filename+"|"+location + "]] |";
	text += " [[" + bidix.basename(storeUrl) + "|" + storeUrl + "]] | ";
	text += uploadDir + " | ";
	text += "[[" + bidix.basename(toFilename) + " | " +toFilename + "]] | ";
	text += backupDir + " |";
	this.addText(text);
};

bidix.UploadLog.prototype.endUpload = function(status) {
	if (!this.tiddler)
		return;
	this.addText(" "+status+" |");
};

//
// Utilities
// 

bidix.checkPlugin = function(plugin, major, minor, revision) {
	var ext = version.extensions[plugin];
	if (!
		(ext  && 
			((ext.major > major) || 
			((ext.major == major) && (ext.minor > minor))  ||
			((ext.major == major) && (ext.minor == minor) && (ext.revision >= revision))))) {
			// write error in PluginManager
			if (pluginInfo)
				pluginInfo.log.push("Requires " + plugin + " " + major + "." + minor + "." + revision);
			eval(plugin); // generate an error : "Error: ReferenceError: xxxx is not defined"
	}
};

bidix.dirname = function(filePath) {
	if (!filePath) 
		return;
	var lastpos;
	if ((lastpos = filePath.lastIndexOf("/")) != -1) {
		return filePath.substring(0, lastpos);
	} else {
		return filePath.substring(0, filePath.lastIndexOf("\\"));
	}
};

bidix.basename = function(filePath) {
	if (!filePath) 
		return;
	var lastpos;
	if ((lastpos = filePath.lastIndexOf("#")) != -1) 
		filePath = filePath.substring(0, lastpos);
	if ((lastpos = filePath.lastIndexOf("/")) != -1) {
		return filePath.substring(lastpos + 1);
	} else
		return filePath.substring(filePath.lastIndexOf("\\")+1);
};

bidix.initOption = function(name,value) {
	if (!config.options[name])
		config.options[name] = value;
};

//
// Initializations
//

// require PasswordOptionPlugin 1.0.1 or better
bidix.checkPlugin("PasswordOptionPlugin", 1, 0, 1);

// styleSheet
setStylesheet('.txtUploadStoreUrl, .txtUploadBackupDir, .txtUploadDir {width: 22em;}',"uploadPluginStyles");

//optionsDesc
merge(config.optionsDesc,{
	txtUploadStoreUrl: "Url of the UploadService script (default: store.php)",
	txtUploadFilename: "Filename of the uploaded file (default: in index.html)",
	txtUploadDir: "Relative Directory where to store the file (default: . (downloadService directory))",
	txtUploadBackupDir: "Relative Directory where to backup the file. If empty no backup. (default: ''(empty))",
	txtUploadUserName: "Upload Username",
	pasUploadPassword: "Upload Password",
	chkUploadLog: "do Logging in UploadLog (default: true)",
	txtUploadLogMaxLine: "Maximum of lines in UploadLog (default: 10)"
});

// Options Initializations
bidix.initOption('txtUploadStoreUrl','');
bidix.initOption('txtUploadFilename','');
bidix.initOption('txtUploadDir','');
bidix.initOption('txtUploadBackupDir','');
bidix.initOption('txtUploadUserName','');
bidix.initOption('pasUploadPassword','');
bidix.initOption('chkUploadLog',true);
bidix.initOption('txtUploadLogMaxLine','10');


// Backstage
merge(config.tasks,{
	uploadOptions: {text: "upload", tooltip: "Change UploadOptions and Upload", content: '<<uploadOptions>>'}
});
config.backstageTasks.push("uploadOptions");


//}}}