<!--{{{-->
<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>>
|''Type:''|file|
|''URL:''|http://bob.mcelrath.org/tiddlyjsmath.html|
|''Workspace:''|(default)|

This tiddler was automatically created to record the details of this server
!!! Post-doctoral associates

|Jaume Casademunt |October 1991 - February 1993 |Professor. Condensed Matter Physics, U. Barcelona |
|J. Ross Thomson |January 1993 - January 1995 |Senior Technical Solutions Engineer. Google |
|David Raitt |September 1994 - August 1996 |Software Engineer. ~MModal |
|Francois Drolet |January 1996 -- September 1998 |Senior Research Scientist. ~FPInnovations |
|Peilong Chen |August 1996 - August 1997 |Professor of Physics. National Central U., Taiwan |
|Jeffrey Hasty |August 1997 -- July 1998 |Professor Molecular Biology, UC San Diego |
|Raul Montagne |August 1998 - July 1999 |Professor,  Universidade Federal Rural de Pernambuco, Brazil |
|Dmitri Volfson |October 1998 -- August 2001 |Department of Biostatistics, Millennium Pharmaceuticals |
|Denis Boyer |September 1999 -- January 2001 |Professor. Departamento Sistemas Complejos, UNAM, Mexico |
|Sten Ruediger |September 2001 - August 2003 |Professor. Humboldt University Berlin, Germany |
|Ricard Gonzalez Cinca |January 2004 - September 2004 |Associate Professor, U. Politecnica Catalunya |
|~Zhi-Feng Huang |October 2002 -- August 2006 |Professor of Physics. Wayne State University |
|~Chi-Deuk Yoo |September 2010 - August 2013 |Professor, Louisiana State U. |

!!! Graduate students

|Wenbin Zhang |Ph.D. Physics, August 1994 |Senior Software Engineer, Xionics Technologies, Burlington MA |
|Shailesh Bhaisora |M.Sc. Engineering, August 1995 |Sr. Manager Process Technology, SABIC, India |
|Chetan Vig |M.Sc. Engineering, August 1997 |Head of Investment Risk and Strategy. ~TIAA-CREF, New York. |
|Nanili Natarajan |M.Sc. Engineering, 1999  |Product Director, Adobe, San Jose CA |
|Fan Yang |[[M.Sc. Physics|http://digitool.Library.McGill.CA:80/R/-?func=dbin-jump-full&object_id=84087&silo_library=GEN01]], July 2005 |Professor, University Connecticut |
|Octavio Mondragon |[[M.Sc. Physics|http://digitool.Library.McGill.CA:80/R/-?func=dbin-jump-full&object_id=101627&silo_library=GEN01]], September 2006 |~Burroughs-Wellcome Fellow, Chemistry and Chem.Eng., Caltech |
|Adriano Ferrari |[[Ph.D. Physics|http://digitool.library.mcgill.ca/R/3I7JLN3MJHFPNY8KN2DTVY6IJHR7GP7L53JEAM9QEFRBG9BM1I-01589?func=results-jump-full&set_entry=000005&set_number=001890&base=GEN01]], 2014 |Founder, gingkoapp.com |
|Francoise Lepine |[[M.Sc. Physics|http://digitool.Library.McGill.CA:80/R/-?func=dbin-jump-full&object_id=32364&silo_library=GEN01]], September 2008 | |
|Timothy Cox |[[M.Sc. Physics|http://digitool.Library.McGill.CA:80/R/-?func=dbin-jump-full&object_id=97181&silo_library=GEN01]], August 2010 |Department of Physics and Astronomy. U. British Columbia, Canada |
|Juliana Berbert |Ph.D. Physics,  July 2009 |Professor of Mathematics, Universidade Federal do ABC, Brazil |
|Xusheng Huang |[[Ph.D. Physics|http://digitool.library.mcgill.ca/thesisfile96823.pdf]], August 2010 |Director, Enterprise Model Risk Management, RBC Capital |
|Mathieu Gaudreault |[[Ph.D. Physics|http://digitool.library.mcgill.ca/R/3I7JLN3MJHFPNY8KN2DTVY6IJHR7GP7L53JEAM9QEFRBG9BM1I-00683?func=results-jump-full&set_entry=000002&set_number=001885&base=GEN01]], September 2011 |Medical Physicist, Peter ~MacCallum Cancer Centre. U. Melbourne |
|Christopher Conklin |[[Ph.D. Physics|https://conservancy.umn.edu/handle/11299/194626]], November 2017 |Applied Physics Lab. Johns Hopkins U. |
|Audun Skaugen |[[Ph.D. Physics|https://www.duo.uio.no/handle/10852/66179]], August 2018 |Norway King's Gold Medal for best Ph.D. thesis. Tampere University of Technology |
A mesoscopic model of a diblock copolymer is used to study the formation, stability, and coarsening of lamellar phases. With the transition to new technologies in fields such as micro electronics or biomedicine, microstructural control of the polymer is necessary in order to meet particular performance requirements. As a consequence, increased emphasis has been placed on research on microstructure and self-assembly at the mesoscale. We mention, for example, the use of block copolymers as nanolithographic templates, or as photonic band gap materials, light emitting diodes and dielectric mirrors. The central challenge for widespread application in both areas is to achieve long-ranged domain order of the appropriate orientation.

[<img(30%+,auto)[http://homepages.spa.umn.edu/~vinals/research/bcopol/monomer.xfig.jpg]] Diblock copolymers are macromolecules comprising two chemically distinct and mutually incompatible segments (monomers A and B) that are covalently bonded. Their equilibrium properties are dictated by N, the degree or polymerization (i.e., the length of the chain), f, the volume fraction of one of the monomers, and $\chi$, the ~Flory-Huggins interaction parameter between the distinct segments. The first two parameters can be controlled through processing, whereas the third is determined by the choice of monomers involved. 

Above the order-disorder transition temperature $T_{ODT}$, the equilibrium phase is fluid like (disordered) (below, left).
[<img(25%+,auto)[http://homepages.spa.umn.edu/~vinals/research/bcopol/disordered.xfig.jpg]] Below $T_{ODT}$, equilibrium structures of a wide variety of symmetries have been predicted and experimentally observed. Around f=0.5 (symmetric mixture), a so called lamellar phase is observed (below, right), in which nanometer sized
layers of A and B rich regions alternate in space.
[img(40%+,auto)[http://homepages.spa.umn.edu/~vinals/research/bcopol/lamella.xfig.jpg]]

!!Orientation by oscillatory shear flows

Several methods are currently in use to accelerate the development of long-ranged order of block copolymer microstructures. We have focused on one the most common for bulk samples: an externally imposed reciprocating shear as shown in the figure [img(75%+,auto)[http://homepages.spa.umn.edu/~vinals/images/lam_3D_shear_transparent.jpg]].

In the absence of shear, an isotropic large scale configuration emerges. This is a visualization at fixed time. Surfaces shown are related to gradients of the nematic order parameter tensor and highlight grain boundaries in the system. Transparent regions correspond to locally ordered lamellae.

[img(75%+,auto)[http://homepages.spa.umn.edu/~vinals/tspot_files/gam0-NGQ-Zrotate.gif]].

We also show animations of a thee dimensional lamellar phase as it coarsens as a function of time. Shown are defected regions (mostly grain boundaries) in the absence of shear.

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

The same three dimensional system but under oscillatory shear (animation shown is in the reference frame co-moving with the oscillatory shear). Defects are now predominantly dislocation lines.

<html><iframe width="420" height="315" src="http://www.youtube.com/embed/WW-lAOIDLoc/" frameborder="0" allowfullscreen></iframe></html>

[[Video|http://homepages.spa.umn.edu/~vinals/research/bcopol/fd1.mpg]]

# Google Chrome does not allow """file:///""" URL's to use AJAX to load other files, so [[Plugin: jsMath]] cannot load {{{jsMath.js}}}.  This is a security design decision, and it seems unlikely that it will change.  To work around this, [[Plugin: jsMath]] will create a [[MarkupPostHead]] tiddler with a <script> tag to load it instead.  You will then be directed to save your TiddlyWiki.  (On Google Chrome this requires [[TiddlySaver.jar|http://www.tiddlywiki.com/TiddlySaver.jar]] in the same directory and a working Java plugin)  It is safe to pass around TiddlyWikis with this code in [[MarkupPostHead]], it will work on all browsers.  (But it makes the install 2-step and can create errors if you uninstall [[Plugin: jsMath]], beware!)  Another workaround is to add {{{--allow-file-access-from-files}}} to the {{{google-chrome}}} command line when you run it.
# Due to the same above "feature", certain sub-libraries loaded automatically by jsMath using AJAX will not work on Chrome using a """file:///""" URL.
Our research is of theoretical and computational nature, and focuses on mesoscale theories of nonequilibrium phenomena in extended systems, with applications to Statistical Mechanics, Soft Matter Physics, and Materials Science. Generically, systems outside of thermodynamic equilibrium involve unstable interfaces and moving topological defects. We develop theories at the mesoscale of the relevant phases, analyze their macroscopic scale asymptotics, and obtain their non equilibrium properties through large scale computation. Our research is currently motivated by topologically driven flows in liquid crystals, unstable interfaces in complex fluids, and a mesoscale description of plasticity in defected materials.
!! Self consistent field theory of nematic liquid crystals

[<img(20%+,auto)[http://homepages.spa.umn.edu/~vinals/tspot_files/MaierSaupe_p1h.png]][<img(20%+,auto)[http://homepages.spa.umn.edu/~vinals/tspot_files/MaierSaupe_m1h.png]] The nematic phase of a liquid crystal is an equilibrium phase characterized by long ranged molecular orientational order. Liquid crystal molecules typically have uniaxial symmetry (head-tail symmetry) and therefore allow defects of half integer degree. Shown are a defect of +1/2 (left) and -1/2 (right) degree as indicated by the while lines. The degree of order and the structure of the defect core have been typically beyond experimental resolution, and therefore often modeled as effective or point singularities of the (continuous) order parameter field. Recent experiments in lyotropic chromonic liquid crystals have revealed defect core sizes on a scale of a few microns, and have determined their spatial structure in some detail.

Neither of the two current theories in use for the description of nematic phases can address the core structure observed. In one, the ~Oseen-Frank theory, defects are point singularities of the so called director field, and removed with appropriate cut-off approaches. In the second, the Landau-de Gennes theory, the order parameter at the core is phenomenological, and largely isotropic (in disagreement with experiments). In [[[CS20]|http://homepages.spa.umn.edu/~vinals/mss/MSPaper.pdf]], we have developed a self consistent field theory of the nematic, which needs to be solved numerically. As in the Landau-de Gennes theory, our approach is based on a tensor order parameter description of the nematic phase. Unlike the latter, we can guarantee that the eigenvalues of the order parameter remain in the physically admissible range throughout the defect, as well as allow different energies for splay and bend distortions while retaining boundedness of the energy. This is also a central feature of the molecular interactions in this lyotropic liquid crystal.
!!Smectic film instabilities
[<img(45%+,auto)[http://homepages.spa.umn.edu/~vinals/tspot_files/smectic_web.png]] A smectic is a complex fluid phase of a liquid crystal that exhibits broken translational symmetry in only one direction (a one dimensional solid or a layered phase). Interfaces separating smectic and isotropic phases in equilibrium can be quite complex, such as the array of focal conics shown left. Such an equilibrium shape depends on the complex interplay between mean and Gaussian curvatures, and bending and torsion energies. These are effects largely absent in normal fluid or solid phases. We are investigating an order parameter model of the smectic-isotropic system that can describe the equilibrium thermodynamics of its complex interfacial morphologies as a function of intrinsic metric properties of the interface. The same model can then be extended to describe surface instabilities and the ensuing pattern formation. The model is especially useful in describing instabilities in which the topology of the domains change as a function of time. The figure at left shows an evolving surface pattern in three dimensions from an initial toroidal focal domain. New smectic layers are being formed at the center of the domain by  layer growth from the isotropic phase [[[EV18]|http://homepages.spa.umn.edu/~vinals/mss/ev1.pdf]].

More generally, local equilibrium thermodynamics is key to the existence of local (reversible) stresses that drive hydrodynamic flow. Our approach provides a direct method of computing not only interfacial tension but also bending and torsion stresses on a moving interface. The combined problem involving interfacial relaxation and fluid flow has been addressed for a system in which the local density couples to the local smectic order parameter in order to describe experiments about instabilities of a smectic air interface.  [[[EV19]|http://homepages.spa.umn.edu/~vinals/mss/ev2.pdf]].
<br>
!!Mesoscale theory of defected materials
[<img(45%+,auto)[http://homepages.spa.umn.edu/~vinals/tspot_files/PFC_amplitude_phase_dipole.png]]  We are developing a mesoscopic theory of defect motion in crystalline solids. It is based on a continuum order parameter description of the defect density that incorporates the topological content of a given element of volume, and that can be used to study defect motion [[[PE16]|http://link.aps.org/doi/10.1103/PhysRevB.93.014107]]. Phenomenological equations of motion that respect topological constraints are developed to describe the temporal evolution of an ensemble of interacting defects. We have first shown that our methodology recovers the classical results of plasticity theory pertaining to defect motion under stress [[[AS18]|http://homepages.spa.umn.edu/~vinals/mss/as1.pdf]]. The figure (left) shows amplitudes and phases of the order parameter for a dislocation dipole in a hexagonal lattice. Two of three wave amplitudes of the order parameter decay to zero in the defect core region, whereas the phase exhibits a discontinuity along a line joining the cores. These solutions are not imposed as in classical treatments; rather they appear as a direct solution of the mesoscopic theory.

The theory has been used to analyze non equilibrium dislocation motion [[[AS18b]|http://homepages.spa.umn.edu/~vinals/mss/as2.pdf]], showing good agreement with macroscopic plasticity without requiring any core or singularity regularization . These results have also been extended to a coarse grained description  [[[MS20]|http://homepages.spa.umn.edu/~vinals/mss/ms1.pdf]], methodology that alleviates the need to resolve microscopic scales, and allows computations in large systems. 

Finally, we have clarified shortcomings of previous mesoscale theories of plastic motion which did not properly account for the necessary independence between elastic response, mass transport, and order parameter relaxation [[[AA20]|http://homepages.spa.umn.edu/~vinals/mss/pf_plast.pdf]].
!!Topology driven flows in nematic suspensions

[<img(20%+,auto)[http://homepages.spa.umn.edu/~vinals/tspot_files/transverse_chargedensitydipole.png]][<img(20%+,auto)[http://homepages.spa.umn.edu/~vinals/tspot_files/transverse_velocitydipole.png]] The study of of liquid crystal based suspensions is motivated by applications in materials science as well as in biological systems. At a fundamental level, and in contrast with normal suspending fluids, nematic order in a liquid crystalline matrix leads to long range elastic interactions either among colloidal particles or with bounding walls, resulting in a variety of unexpected phenomena. Furthermore, long range order in the matrix is distorted by the suspended particles, resulting in anisotropic response, and  unavoidable topological defects that must move with the particles. On the one hand, the existence of structure in the liquid matrix affords new opportunities for flow control, processing, and suspension stability. At the same time, and for the same reasons, efficient engineering of these systems requires major advances to our current understanding of nematic fluid colloids.

The figure above (left) shows the spatial charge distribution induced by a (+1, -1) disclination pair under a uniform but oscillatory electric field normal to the line joining the defects. A (+1) disclination represents a suspended particle with homeotropic anchoring, and the (-1) disclination is the associated hyperbolic hedgehog. Both defects lead to spatial charge separation which, in turn, results in streaming flows (figure on the right), resulting in transport normal to the direction of the applied field [[[CO17]|http://pubs.rsc.org/en/content/articlelanding/2017/sm/c6sm02393b#!divAbstract]]. Thus a nematic matrix allows nonlinear anisotropic hydrodynamic mobilities. Effects like this one are being developed to engineer designer flows for use in microfluidic devices, including particle sorting and aggregation (including cell sorting), and stirring and the micro scale [[[PE15]|http://journals.aps.org/pre/abstract/10.1103/PhysRevE.92.052502]]. The same effects are being investigated to control, dynamically and on demand, the motion of self-propelled (or active) particles such as swimming bacteria in a nematic matrix [[[CO18]|http://homepages.spa.umn.edu/~vinals/mss/ck8.pdf]].
[[Home]]
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>>
|border-right:0px;vertical-align:top;padding:15px;<br><br>School of Physics and Astronomy<br>University of Minnesota<br>116 Church St. S.E.<br>Minneapolis, MN 55455<br>Office: Tate Hall 130-17<br>(612) 624-9074<br>(612) 624-4578 (FAX)<br>vin&#97;ls&#64;&#117;mn.ed&#117;<br><br><br><br>[[Campus Map|https://goo.gl/maps/8PCy5gNpdYk]]<br>[[Campus webcam|https://cse.umn.edu/college/cse-webcam]]<br><br>[[School of Physics Home Page|http://www.physics.umn.edu/]]<br>[[Minnesota Supercomputing Institute|http://www.msi.umn.edu]]|border-left-width:0;border-bottom:0px;padding:15px; [img(90%+,auto)[http://homepages.spa.umn.edu/~vinals/images/P1010104_small.jpg]]|
|~|border-left:0px;border-top:0px; Jorge at George's Mill in Sneinton |
/***
|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]] 
[[Research|Current Research Areas]]
[[Preprints|Preprints of Recent Research]]
[[Publication Archive]]
<br>
[[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: arXiv Links|
|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|
!Description
This formatting plugin will render links to the [[arXiv|http://www.arxiv.org]] preprint system.  If you type a paper reference such as hep-ph/0509024, it will be rendered as an external link to the abstract of that paper.
!Installation
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: "arXivLinks",
  match: "\\b(?:astro-ph|cond-mat|hep-ph|hep-th|hep-lat|gr-qc|nucl-ex|nucl-th|quant-ph|(?:cs|math|nlin|physics|q-bio)(?:\\.[A-Z]{2})?)/[0-9]{7}\\b",
  element: "a",
  handler: function(w) {
    var e = createExternalLink(w.output, "http://arxiv.org/abs/"+w.matchText);
    e.target = "_blank"; // open in new window
    w.outputText(e,w.matchStart,w.nextMatch);
  }
});
//}}}
/***
|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();
    }
}
//}}}
!! Topological defects, surfaces, and instabilities in liquid crystals
* [[The role of Gaussian curvature on local equilibrium and dynamics of smectic-isotropic interfaces|http://homepages.spa.umn.edu/~vinals/mss/ev1.pdf]].
* [[Computational molecular field theory for nematic liquid crystals|http://homepages.spa.umn.edu/~vinals/mss/MSPaper.pdf]].
* [[A model of the dynamics of an interface between a smectic phase and an isotropic phase of different density|http://homepages.spa.umn.edu/~vinals/mss/ev3.pdf]].
* [[Spiral defect chaos in Rayleigh-Benard convection: Asymptotic and numeric study of azimuthal flows induced by rotating spirals|http://homepages.spa.umn.edu/~vinals/mss/ev2_PRF.pdf]].
* [[Anisotropic disclination cores in nematic liquid crystals modeled by a self consistent molecular field theory|http://homepages.spa.umn.edu/~vinals/mss/cs2_PRL.pdf]].
!! Topological defect motion, microstructure, and stress response in materials
* [[Impact of lattice rotation on dislocation motion|http://homepages.spa.umn.edu/~vinals/mss/bp1.pdf]].
* [[Dislocation dynamics and crystal plasticity in the phase field crystal model|http://homepages.spa.umn.edu/~vinals/mss/as1.pdf]].
* [[Separation of elastic and plastic time scales in a phase field crystal model|http://homepages.spa.umn.edu/~vinals/mss/as2.pdf]].
*[[A coarse-grained phase-field crystal model of plastic motion|http://homepages.spa.umn.edu/~vinals/mss/ms1.pdf]].
* [[Field Dislocation Mechanics and Phase Field Crystal models|http://homepages.spa.umn.edu/~vinals/mss/pf_plast.pdf]].
* [[Dislocation nucleation in the phase field crystal model|http://homepages.spa.umn.edu/~vinals/mss/vs1.pdf]].
!! Transport in nematic suspensions
* [[Liquid crystals with patterned molecular orientation as an electrolytic active medium|http://homepages.spa.umn.edu/~vinals/mss/ActiveLC_Sept_29_2015.pdf]].
* [[Electrokinetic flows in liquid crystal thin films with fixed anchoring|http://homepages.spa.umn.edu/~vinals/mss/ck2.pdf]]
* [[Nonlinear electrophoresis of colloids controlled by anisotropy of conductivity and permittivity of liquid crystal electrolyte|http://homepages.spa.umn.edu/~vinals/mss/ck5.pdf]]
* [[Q-tensor model for electrokinetics in nematic liquid crystals|http://homepages.spa.umn.edu/~vinals/mss/1612.03446v1.pdf]].
* [[Electrokinetic effects in nematic suspensions: Single particle electroosmosis and inter particle interactions|http://homepages.spa.umn.edu/~vinals/mss/ck7.pdf]].
* [[A connection between Living Liquid Crystals and electrokinetic phenomena in nematic fluids|http://homepages.spa.umn.edu/~vinals/mss/ck8.pdf]].
!!Sample presentations
* [[Mesoscale description of defected materials|http://homepages.spa.umn.edu/~vinals/mss/ima_09142012.pdf]]. IMA Hot Topics Special Workshop: Mathematics and the Materials Genome Initiative.
* [[Pattern formation in mesophases|http://homepages.spa.umn.edu/~vinals/mss/msu-uab_10042012.pdf]]. 9th ~MSU-UAB Conference on Differential Equations and Computational Simulations.
* [[Liquid crystal electro osmosis|http://homepages.spa.umn.edu/~vinals/mss/siam_11MAY2016.pdf]]. SIAM Conference on the Mathematical Aspects of Materials Science.
* [[Mesoscale models and defect motion|http://homepages.spa.umn.edu/~vinals/mss/cmu_30SEP2016.pdf]]. Department of Civil and Environmental Engineering. Carnegie Mellon University.
* [[Liquid crystal electro kinetics|http://homepages.spa.umn.edu/~vinals/mss/cnls_3MAY2017.pdf]]. Center for Nonlinear Studies, Los Alamos National Laboratory.
* [[Mesoscale defects and transport|http://homepages.spa.umn.edu/~vinals/mss/ef_15JUN2017.pdf]]. ~EarthFlows 2017.


Also [[Publications by subject]]
!!! 2020 -
# V. Skogvoll, A. Skaugen, L. Angheluta, and J. Vi&ntilde;als. [[Dislocation nucleation in the phase field crystal model|http://homepages.spa.umn.edu/~vinals/mss/vs1.pdf]]. Submitted to //Phys. Rev. Lett.//
# E. Vitral, P.H. Leo, J. Vi&ntilde;als, S. Mukherjee, M.R. Paul, and Z.-F. Huang. [[Spiral defect chaos in Rayleigh-Benard convection: Asymptotic and numeric studies of azimuthal flows induced by rotating spirals|https://link.aps.org/doi/10.1103/PhysRevFluids.5.093501]]. //Phys. Rev. Fluids// ''5'', 093501 (2020).
# A. Acharya and J. Vi&ntilde;als. [[Field Dislocation Mechanics and Phase Field Crystal models|https://journals.aps.org/prb/abstract/10.1103/PhysRevB.102.064109]]. //Phys. Rev. B// ''102'', 064109 (2020).
# E. Vitral, P. Leo, and J. Vi&ntilde;als. [[Model of the dynamics of an interface between a smectic phase and an isotropic phase of different density|https://link.aps.org/doi/10.1103/PhysRevFluids.5.073302]]. //Phys. Rev. Fluids// ''5'',  073302 (2020).
# C.D. Schimming, and J. Vi&ntilde;als. [[Anisotropic disclination cores in nematic liquid crystals modeled by a self consistent molecular field theory|https://journals.aps.org/pre/abstract/10.1103/PhysRevE.102.010701]]. //Phys. Rev. E// ''102'', 010701(R) (2020).
# C.D. Schimming, and J. Vi&ntilde;als. [[Computational molecular field theory for nematic liquid crystals|https://link.aps.org/doi/10.1103/PhysRevE.101.032702]]. //Phys. Rev. E// ''101'', 032702 (2020).
# M. Salvalaglio, L. Angheluta, Z.-F. Huang, A. Voigt, K.R. Elder, and J. Vi&ntilde;als. [[A coarse-grained phase-field crystal model of plastic motion|https://doi.org/10.1016/j.jmps.2019.103856]]. //Journal of the Mechanics and Physics of Solids// ''137'', 103856 (2020).
!!! 2010 - 2019
#  E. Vitral, P. Leo, and J. Vi&ntilde;als. [[The role of Gaussian curvature on local equilibrium and dynamics of smectic-isotropic interfaces|https://journals.aps.org/pre/abstract/10.1103/PhysRevE.100.032805]]. //Phys. Rev. E// ''100'', 032805 (2019).
# A. Skaugen, L. Angheluta, and J. Vi&ntilde;als. [[Separation of elastic and plastic times scales in a phase field crystal model|https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.121.255501]]. //Phys. Rev. Lett.// ''121'', 255501 (2018).
# Christopher Conklin, Jorge Vi&ntilde;als, and Oriol T. Valls. [[A connection between Living Liquid Crystals and electrokinetic phenomena in nematic fluids|http://pubs.rsc.org/en/content/articlehtml/2018/sm/c7sm02492d]]. //Soft Matter// ''14'', 4641 (2018).
# Christopher Conklin, Oleh M. Tovkach, M. Carme Calderer, Dmitry Golovaty, Oleg D. Lavrentovich, Jorge Vi&ntilde;als, Noel J. Walkington. [[Electrokinetic effects in nematic suspensions: Single particle electroosmosis and inter particle interactions|https://journals.aps.org/pre/abstract/10.1103/PhysRevE.98.022703]].  //Phys. Rev. E// ''98'', 022703 (2018).
# A. Skaugen, L. Angheluta, and J. Vi&ntilde;als. [[Dislocation dynamics and crystal plasticity in the phase field crystal model|https://journals.aps.org/prb/abstract/10.1103/PhysRevB.97.054113]]. //Phys. Rev. B// ''97'', 054113 (2018).
# Oleh M. Tovkach, Christopher Conklin, M. Carme Calderer, Dmitry Golovaty, Oleg D. Lavrentovich, Jorge Vi&ntilde;als, Noel J. Walkington. [[Q-tensor model for electrokinetics in nematic liquid crystals|https://journals.aps.org/prfluids/abstract/10.1103/PhysRevFluids.2.053302]]. //Phys. Rev. Fluids// ''2'', 053302 (2017).
# S. Paladugu, C. Conklin, J. Vi&ntilde;als, and O. D. Lavrentovich. [[Nonlinear electrophoresis of colloids controlled by anisotropy of conductivity and permittivity of liquid crystal electrolyte|https://journals.aps.org/prapplied/abstract/10.1103/PhysRevApplied.7.034033]]. //Phys. Rev. Applied// ''7'', 034033 (2017).
# C. Conklin and J. Vi&ntilde;als. [[Electrokinetic flows in liquid crystal thin films with fixed anchoring|http://pubs.rsc.org/en/content/articlelanding/2017/sm/c6sm02393b#!divAbstract]]. //Soft Matter// ''13'', 725 (2017).
# B. Perreault, J . ViƱals, and J.M. Rickman. [[Impact of lattice rotation on dislocation motion|http://link.aps.org/doi/10.1103/PhysRevB.93.014107]]. //Phys. Rev. B// ''93'', 014107 (2016).
# C. Peng, Y. Guo, C. Conklin, J. Vi&ntilde;als, S. V. Shiyanovskii, Q. Wei and O. D. Lavrentovich. [[Liquid crystals with patterned molecular orientation as an electrolytic active medium|http://journals.aps.org/pre/abstract/10.1103/PhysRevE.92.052502]]. //Phys. Rev. E// ''92'', 052502 (2015).
# C.-D. Yoo and J . Vi&ntilde;als. [[Extended constitutive laws for lamellar phases|http://ejde.math.txstate.edu/conf-proc/20/y1/abstr.html]]. //Electronic Journal of Differential Equations// ''2013(20)'', 165 (2013).
# C.-D. Yoo and J . ViƱals. [[The role of viscoelastic contrast in orientation selection of block copolymer lamellar phases under oscillatory shear|http://dx.doi.org/10.1039/c3sm00099k]]. //Soft Matter// ''9'', 7817 (2013).
# C.-D. Yoo and J . ViƱals. [[Anisotropic linear response in block copolymer lamellar phases|http://dx.doi.org/10.1021/ma300547y]]. //Macromolecules// ''45'', 4848 (2012).
# M. Gaudreault, F. Drolet, and J . ViƱals. [[Bifurcation threshold of the delayed van der Pol oscillator under stochastic modulation|http://link.aps.org/doi/10.1103/PhysRevE.85.056214]]. //Phys. Rev. E// ''85'', 056214 (2012). [[Erratum|https://journals.aps.org/pre/abstract/10.1103/PhysRevE.101.029901]]. // Phys. Rev. E // ''101'', 029901(E) (2020).
# M. Gaudreault, J. Berbert, and J . ViƱals. [[Correlation times in stochastic equations with delayed feedback and multiplicative noise|http://dx.doi.org/10.1103/PhysRevE.83.011903]]. //Phys. Rev. E// ''83'', 011903 (2011).
#M. Gaudreault, F. Drolet, and J . ViƱals. [[Analytical determination of the bifurcation thresholds in stochastic differential equatoins with delayed feedback|http://dx.doi.org/10.1103/PhysRevE.82.051124]]. //Phys. Rev. E// ''82'', 051124 (2010).
!!! 2000-2009
# M. Gaudreault, F. Lepine and J . ViƱals. [[Pitchfork and Hopf bifurcation threshold in stochastic equations with delayed feedback|http://dx.doi.org/10.1103/PhysRevE.80.061920]]. //Phys. Rev. E// ''80'', 061920 (2009).
# X. Zhang, Z.-F. Huang, and J . Vi&ntilde;als. [[Stability analysis of twist grain boundaries in lamellar phases of lamellar phases of block copolymers|http://homepages.spa.umn.edu/~vinals/mss/xz1_arxiv_0804.pdf]]. arXiv:0804.2091.
# M. Gaudreault and J . Vi&ntilde;als. [[Collapse transition of a hydrophobic self avoiding random walk in a coarse-grained model solvent|http://dx.doi.org/10.1103/PhysRevE.80.021916]]. //Phys. Rev. E// ''80'', 021916 (2009).
# J . Vi&ntilde;als. [[Defect dynamics in mesophases|http://dx.doi.org/10.1143/JPSJ.78.041011]]. //J. Phys. Soc. Jpn.// ''78'', 041011 (2009).
# R. Tamate, K. Yamada, J . Vi&ntilde;als, and T. Ohta. [[Structural rheology of microphase separated diblock copolymers|http://homepages.spa.umn.edu/~vinals/mss/JPSJ-77-034802.pdf]]. //J. Phys. Soc. Jpn.// ''73'', 034802 (2008).
# Z.-F. Huang and J. Vi&ntilde;als. [[Coarse-grained modeling of mesophase dynamics in block copolymers|http://www.springerlink.com/content/978-1-4020-6329-9]], in "Nanostructured Soft Matter: Experiment, Theory, Simulation, and Perspectives", A.V. Zvelindovsky ed., (Springer, New York, 2007).
# S.-S. Yeh, C. Hsueh, P. Chen, and J. Vi&ntilde;als. [[Field induced columnar structures in a quasi two dimensional system of dipolar particles|http://dx.doi.org/10.1103/PhysRevE.76.051407]]. //Phys. Rev. E// ''76'', 051407 (2007).
# Z.-F. Huang and J. Vi&ntilde;als. [[Grain boundary dynamics in stripe phases of non potential systems|http://dx.doi.org/10.1103/PhysRevE.75.056202]]. //Phys. Rev. E// ''75'', 056202 (2007).
# Z.-F. Huang and J. Vi&ntilde;als. [[Stability of parallel/perpendicular domain boundaries in lamellar block copolymers under oscillatory shear|http://dx.doi.org/10.1122/1.2399088]]. //J. Rheol.// ''51'', 99 (2007).
# Z.-F. Huang and J. Vi&ntilde;als. [[Orientation selection in lamellar phases by oscillatory shears|http://dx.doi.org//10.1103/PhysRevE.73.060501]]. //Phys. Rev. E// ''73'', 060501(R) (2006).
# Z.-F. Huang and J. Vi&ntilde;als. [[Tilt grain boundary instabilities in three dimensional lamellar patterns|http://dx.doi.org/10.1103/PhysRevE.71.031501]]. //Phys. Rev. E// ''71'', 031501 (2005).
# J.M. Rickman, J. Vi&ntilde;als, and R. ~LeSar. [[Unified framework for dislocation-based defect energetics|http://dx.doi.org/10.1080/14786430412331314618]]. //Phil. Mag. A// ''85'', 917 (2005).
# J.M. Vega, S. Ruediger, and J. Vi&ntilde;als. [[A phenomenological model of weakly damped Faraday waves and the associated mean flow|http://dx.doi.org/10.1103/PhysRevE.70.046306]]. //Phys. Rev. E// ''70'', 046306 (2004).
# Z.-F. Huang and J. Vi&ntilde;als. [[Shear induced grain boundary motion for lamellar phases in the weakly nonlinear regime|http://dx.doi.org/10.1103/PhysRevE.69.041504]]. //Phys. Rev. E// ''69'', 041504 (2004).
# Z.-F. Huang, F. Drolet and J. Vi&ntilde;als. [[Motion of a transverse/parallel grain boundary in a block copolymer under oscillatory shear flow|http://dx.doi.org/10.1021/ma034083q]]. //Macromolecules// ''36'', 9622 (2003).
# J. Vi&ntilde;als, A. Kolinski and J. Skolnick. [[Numerical study of the entropy loss of dimerization and the folding thermodynamics of the ~GCN4 leucine zipper|http://dx.doi.org/10.1016/S0006-3495(02)75289-2]]. //Biophys. J.// ''83'', 2801 (2002).
# D. Boyer and J. Vi&ntilde;als. [[Weakly nonlinear theory of grain boundary motion in patterns with crystalline symmetry|http://dx.doi.org/10.1103/PhysRevLett.89.055501]]. //Phys. Rev. Lett.// ''89'', 055501 (2002).
# W.W. Mullins and J. Vi&ntilde;als. [[Linear bubble model of abnormal grain growth|http://dx.doi.org/10.1016/S1359-6454(02)00121-0]]. //Acta Materialia// ''50'', 2945 (2002).
# D. Boyer and J. Vi&ntilde;als. [[Grain boundary pinning and glassy dynamics in stripe phases|http://dx.doi.org/10.1103/PhysRevE.65.046119]]. //Phys. Rev. E// ''65'', 046119 (2002).
# P. Chen and J. Vi&ntilde;als. [[Lamellar phase stability in diblock copolymers under oscillatory shear flows|http://dx.doi.org/10.1021/ma011586s]]. //Macromolecules// ''35'', 4183 (2002).
# D. Volfson and J. Vi&ntilde;als. [[Morphological stability analysis of directional solidification into an oscillatory fluid layer|http://link.aip.org/link/doi/10.1063/1.1416883]]. //Phys. Fluids// ''13'', 3599 (2001).
# F. Drolet and J. Vi&ntilde;als. [[Adiabatic elimination and reduced probability distribution functions in spatially extended systems with a fluctuating control parameter|http://dx.doi.org/10.1103/PhysRevE.64.026120]]. //Phys. Rev. E// ''64'', 026120 (2001).
# D. Boyer and J. Vi&ntilde;als. [[Domain coarsening of stripe patterns close to onset|http://dx.doi.org/10.1103/PhysRevE.64.050101]]. //Phys. Rev. E// ''64'', 050101(R) (2001).
# D. Boyer and J. Vi&ntilde;als. [[Grain boundary motion in layered phases|http://dx.doi.org/10.1103/PhysRevE.63.061704]]. //Phys. Rev. E// ''63'', 061704 (2001).
# D. Volfson and J. Vi&ntilde;als. [[Flow induced by a randomly vibrating boundary|http://journals.cambridge.org/action/displayAbstract?fromPage=online&aid=78605]]. //J. Fluid Mech.// ''432'', 387 (2001).
# H.-Y. Chen, D. Jasnow and J. Vi&ntilde;als. [[Interface and contact line motion in a two phase fluid under shear flow|http://dx.doi.org/10.1103/PhysRevLett.85.1686]]. //Phys. Rev. Lett.// ''85'', 1686 (2000).
!!! 1990-1999
# P. Chen and J. Vi&ntilde;als. [[Stability and pattern selection in parametrically driven surface waves|https://books.google.com/books?hl=en&lr=&id=2gg2koWJhToC&oi=fnd&pg=PR9&dq=narayanan+fluid+dynamics+at+interfaces&ots=WN-u1JBCA4&sig=ZT9xwWIGs-grI2i8YaaI3R0gUBc#v=onepage&q=narayanan%20fluid%20dynamics%20at%20interfaces&f=false]], in "Fluid dynamics at interfaces", W. Shyy and R. Narayanan eds., (Cambridge University Press, Cambridge, 1999).
# F. Drolet, P. Chen, and J. Vi&ntilde;als. [[Lamellae alignment by shear flow in a model of a diblock copolymer|http://dx.doi.org/10.1021/ma990448o]]. //Macromolecules// ''32'', 8603 (1999).
# P. Chen and J. Vi&ntilde;als. [[Amplitude equations and pattern selection in Faraday waves|http://dx.doi.org/10.1103/PhysRevE.60.559]]. //Phys. Rev. E// ''60'', 551 (1999).
# J. Vi&ntilde;als. [[Coherent Structures in Convection and Parametrically Driven Surface Waves|https://nyaspubs.onlinelibrary.wiley.com/doi/abs/10.1111/j.1749-6632.1998.tb08963.x]]. //Ann. N.Y. Acad. Sci.// ''848'', 121 (1998).
# F. Drolet and J. Vi&ntilde;als. [[Abiabatic reduction near a bifurcation in stochastically modulated systems|http://dx.doi.org/10.1103/PhysRevE.57.5036]]. //Phys. Rev. E// ''57'', 5036 (1998).
# J. Vi&ntilde;als and W.W. Mullins. [[Self-similarity and coarsening of three dimensional particles on a one or two dimensional matrix|http://link.aip.org/link/doi/10.1063/1.366751]]. //J. Appl. Phys.// ''83'', 621 (1998).
# F. Drolet and J. Vi&ntilde;als. [[Onset of oscillatory instabilities under stochastic modulation|http://dx.doi.org/10.1103/PhysRevE.56.2649]]. //Phys. Rev. E// ''56'', 2649 (1997).
# W. Zhang and J. ViƱals. [[Numerical study of pattern formation in weakly damped parametric surface waves|http://dx.doi.org/10.1016/S0167-2789(97)00172-3]]. //Physica D// ''116'', 225 (1998).
# P. Chen and J. Vi&ntilde;als. [[Pattern selection in Faraday waves|http://dx.doi.org/10.1103/PhysRevLett.79.2670]]. //Phys. Rev. Lett.// ''79'', 2670 (1997).
# W. Zhang and J. Vi&ntilde;als. [[Pattern formation in weakly damped parametric surface waves driven by two frequency components|http://dx.doi.org/10.1017/S0022112097005387]]. //J. Fluid Mech.// ''341'', 225 (1997).
# J.M. Rickman and J. Vi&ntilde;als. [[Modeling of dislocation structures in materials|http://dx.doi.org/10.1080/01418619708209855]]. //Phil. Mag. A// ''75'', 1251 (1997).
# W. Zhang and J. Vi&ntilde;als. [[Pattern formation in weakly damped parametric surface waves|http://dx.doi.org/10.1017/S0022112096004764]]. //J. Fluid Mech.// ''336'', 301 (1997).
# J.R. Thomson, J. Casademunt, F. Drolet and J. Vi&ntilde;als. [[Coarsening of solid-liquid mixtures in a random acceleration field|http://link.aip.org/link/doi/10.1063/1.869259]]. //Phys. Fluids// ''9'', 1336 (1997).
# W. Zhang and J. Vi&ntilde;als. [[Square patterns and quasipatterns in weakly damped Faraday waves|http://dx.doi.org/10.1103/PhysRevE.53.R4283]]. //Phys. Rev. E// ''53'', R4283 (1996).
# D. Jasnow and J. Vi&ntilde;als. [[Coarse-grained description of thermo-capillary flow|https://aip.scitation.org/doi/10.1063/1.868851]]. //Phys. Fluids// ''8'', 660 (1996).
# M. Gurtin, D. Polignone and J. Vi&ntilde;als. [[Two-phase binary fluids and immiscible fluids described by an order parameter|http://dx.doi.org/10.1142/S0218202596000341]]. //Mathematical Models and Methods in Applied Sciences// ''6'', 815 (1996). Also at [[arXiv:patt-sol/9506001|http://arxiv.org/abs/patt-sol/9506001]], [[here (PostScipt)|http://homepages.spa.umn.edu/~vinals/mss/mort.ps]], or [[here (PDF) |http://homepages.spa.umn.edu/~vinals/mss/m3as_6_815_1996.pdf]].
# J.R. Thomson and J Vi&ntilde;als. [[Statistical saturation of buoyant flow induced by a fluctuating acceleration|http://arc.aiaa.org/doi/abs/10.2514/3.13176?journalCode=aiaaj]] . //AIAA J.// ''34'', 975 (1996).
# R. Chella and J. Vi&ntilde;als. [[Mixing of a two-phase fluid by cavity flow|http://dx.doi.org/10.1103/PhysRevE.53.3832]]. //Phys. Rev. E// ''53'', 3832 (1996).
# W. Zhang and J. Vi&ntilde;als. [[Secondary Instabilities and Spatiotemporal Chaos in Parametric Surface Waves|http://dx.doi.org/10.1103/PhysRevLett.74.690]]. //Phys. Rev. Lett.// ''74'', 690 (1995).
# J.R. Thomson, J. Casademunt and J. Vi&ntilde;als. [[Cavity flow induced by a fluctuating acceleration field|http://link.aip.org/link/doi/10.1063/1.868627]]. //Phys. Fluids A// ''7'', 292 (1995).
# H.W. Xi, J.D. Gunton, J. Vi&ntilde;nals. Complexity in ~Rayleigh-Benard convection. In "Computer Simulations in Condensed Matter Physics VII", D.P. Landau, K.K. Mon and H.B. Schuttler, eds., (Springer Verlag, Berlin, 1994).
# J. Vi&ntilde;als and D. Jasnow. Numerical Studies of the Dynamics of Unstable Interfaces. In "Computer Simulations in Condensed Matter Physics IV", D.P. Landau, K.K. Mon and H.B. Schuttler, eds., (Springer Verlag, Berlin, 1993).
# J. Vi&ntilde;nals. Dynamic scaling during interfacial growth in the one-sided model of solidification. In "Free Boundary Problems involving solids", J. Chadham and H. Rassmussen, eds., (Longman, London, 1993).
# J. Casademunt and J. Vi&ntilde;als. Convection induced by a fluctuating acceleration field. In "Fluid Mechanics in Microgravity", D.A. Siginer, R.L. Thomson and L.M. Trefethen, eds., (ASME, New York, 1993).
# W. Zhang, J. Casademunt and J. Vi&ntilde;als. [[Study of the parametric oscillator driven by narrow band noise to model the response of a fluid surface to time-dependent accelerations|http://link.aip.org/link/doi/10.1063/1.858723]]. //Phys. Fluids A// ''5'', 3147 (1993).
# J. Casademunt, W. Zhang, J. Vi&ntilde;als and R.F. Sekerka. [[Stability of a fluid surface in a microgravity environment|http://arc.aiaa.org/doi/abs/10.2514/3.11886?journalCode=aiaaj]]. //AIAA J.// ''31'', 2027 (1993).
# H. Xi, J.D. Gunton and J. Vi&ntilde;als. [[Spiral Defect Chaos in a Model of ~Rayleigh-Benard Convection|http://dx.doi.org/10.1103/PhysRevLett.71.2030]]. //Phys. Rev. Lett.// ''71'', 2030 (1993).
# H.-W. Xi, J.D. Gunton and J. Vi&ntilde;als. [[Pattern formation during Rayleigh-Benard convection in non-Boussinesq fluids|http://homepages.spa.umn.edu/~vinals/mss/sh_xi4.ps]]. arXiv.org:patt-sol/9305001 (1993).
# E. ~Hernandez-Garcia, J. Vi&ntilde;als, R. Toral and M. San Miguel. [[Fluctuations and Pattern Selection near an Eckhaus Instability|http://dx.doi.org/10.1103/PhysRevLett.70.3576]]. //Phys. Rev. Lett.// ''70'', 3576 (1993).
# H.-W. Xi, J.D. Gunton and J. Vi&ntilde;als. [[Spiral-pattern formation in Rayleigh-Benard Convection|http://dx.doi.org/10.1103/PhysRevE.47.R2987]]. //Phys. Rev. E// ''47'', R2987 (1993).
# W.W. Mullins and J. Vi&ntilde;als. [[Scaling in linear bubble models of grain growth|http://dx.doi.org/10.1016/0956-7151(93)90245-N]]. //Acta metall. mater.// ''41'', 1359 (1993).
# M. Lacasse, J. Vi&ntilde;als and M. Grant. [[Dynamic Monte Carlo renormalization-group method|http://dx.doi.org/10.1103/PhysRevB.47.5646]].  //Phys. Rev. B// ''47'', 5646 (1993).
# W.W. Mullins and J. Vi&ntilde;als.Scaling in a Binary Linear Bubble Model of Grain Growth. In "Grain Growth in Polycrystalline Materials", G. Abbruzzese and P. Brozzo, eds., (Trans Tech Publications, Zurich, 1992).
# K.R. Elder, J. Vi&ntilde;als and M. Grant. [[Dynamic scaling and quasiordered states in the two-dimensional Swift-Hohenberg equation|http://dx.doi.org/10.1103/PhysRevA.46.7618]]. //Phys. Rev. A// ''46'', 7618 (1992).
# H. Xi, J. Vi&ntilde;als and J.D. Gunton. [[Numerical study of pattern formation following a convective instability in non-Boussinesq fluids|http://dx.doi.org/10.1103/PhysRevA.46.R4483]]. //Phys. Rev. A// ''46'', R4483 (1992).
# J. Vi&ntilde;als, H.-W. Xi, and J.D. Gunton. [[Numerical study of the influence of forcing terms and fluctuations near onset on the roll pattern in Rayleigh-Benard convection in a simple fluid|http://dx.doi.org/10.1103/PhysRevA.46.918]]. //Phys. Rev. A// ''46'', 918 (1992).
# J. Vi&ntilde;als and D. Jasnow. [[Coarsening following a morphological instability in the one-sided model|http://dx.doi.org/10.1103/PhysRevA.46.7777]]. //Phys. Rev. A// ''46'', 7777 (1992).
# J.M. Rickman, J. Vi&ntilde;als, R.F. Sekerka, and W.W. Mullins. [[Effects of long-range crystalline order on collective diffusion in binary solids|http://dx.doi.org/10.1103/PhysRevB.45.7750]]. //Phys. Rev. B// ''45'', 7750 (1992).
# K.R. Elder, J. Vi&ntilde;als, and M. Grant. [[Ordering Dynamics in the Two-Dimensional Stochastic Swift-Hohenberg Equation|http://dx.doi.org/10.1103/PhysRevLett.68.3024]]. //Phys. Rev. Lett.// ''68'', 3024 (1992).
# W.G. Jenks, P. Bouma, C.M. Rey, L.R. Testardi and J. Vi&ntilde;als. [[Measuring the homogeneity of ceramic superconductors by eddy current probing|https://aip.scitation.org/doi/abs/10.1063/1.1143745]]. //Rev. Sci. Instrum.// ''63'', 3417 (1992).
# H.-W. Xi, J. Vi&ntilde;als, and J.D. Gunton. [[Numerical solution of the Swift-Hohenberg equation in two dimensions|http://dx.doi.org/10.1016/0378-4371(91)90173-A]]. //Physica A// ''177'', 356 (1991).
# J.M. Rickman, J. Vi&ntilde;als, and R. F. Sekerka. [[Molecular-dynamics study of the effects of strain on interstitial diffusion in a hard-sphere model of a binary crystalline solid|https://journals.aps.org/prb/abstract/10.1103/PhysRevB.43.8251]]. //Phys. Rev. B// ''43'', 8251 (1991).
# J. Vi&ntilde;als, E. Hernandez Garcia, M. San Miguel, and R. Toral. [[Numerical study of the dynamical aspects of pattern selection in the stochastic Swift-Hohenberg equation in one dimension|http://dx.doi.org/10.1103/PhysRevA.44.1123]]. //Phys. Rev. A// ''44'', 1123 (1991).
# D. Jasnow and  Vi&ntilde;als. [[Dynamical scaling during interfacial growth in the one-sided model|http://journals.aps.org/pra/abstract/10.1103/PhysRevA.41.6910]]. //Phys. Rev. A// ''41'', 6910 (1990).
# P.H. Leo, W.W. Mullins, R.F. Sekerka, and J. Vi&ntilde;als. [[Effect of elasticity on late stage coarsening|http://dx.doi.org/10.1016/0956-7151(90)90125-Z]]. //Acta metall. mater.// ''38'', 1573 (1990).
!!! 1980-1989
# W.W. Mullins and J. Vi&ntilde;als. [[Self-similarity and growth kinetics driven by surface free energy reduction|http://dx.doi.org/10.1016/0001-6160(89)90096-5]]. //Acta metall.// ''37'', 991 (1989).
# E.T. Gawlinski, J. Vi&ntilde;als, and J.D. Gunton. [[Domain growth and scaling in the two-dimensional Langevin model|https://journals.aps.org/prb/abstract/10.1103/PhysRevB.39.7266]]. //Phys. Rev. B// ''39'', 7266 (1989).
# J. Vi&ntilde;als and D. Jasnow. [[Dynamical scaling during interfacial growth following a morphological instability|http://journals.aps.org/pra/abstract/10.1103/PhysRevA.40.3864]]. //Phys. Rev. A// ''40'', 3864 (1989). 
# J. Vi&ntilde;als and D. Jasnow. [[Finite-size-scaling analysis of domain growth in the kinetic Ising model with conserved and nonconserved order parameters|https://journals.aps.org/prb/abstract/10.1103/PhysRevB.37.9582]]. //Phys. Rev. B// ''37'', 9582 (1988).
# T. Castan, A. Planes, A. Ramos and J. Vi&ntilde;nals. [[Elastic constants of the beta-Cu-Zn alloy system: A Monte Carlo study|https://journals.aps.org/prb/abstract/10.1103/PhysRevB.39.3551]]. //Phys. Rev. B// ''39'', 3551 (1989).
# J. Vi&ntilde;als, R.F. Sekerka, and P. Debroy. [[Morphological stability analysis of directional solidification in thin samples with lateral heat transfer|http://dx.doi.org/10.1016/0022-0248(88)90200-X]]. //J. Crystal Growth// ''89'', 405 (1988).
# J. Vi&ntilde;als and R.F. Sekerka. [[Jump rates for vacancy diffusion in a Lennard-Jones solid under nonhydrostatic stress|https://journals.aps.org/prb/abstract/10.1103/PhysRevB.37.10697]]. //Phys. Rev. B// ''37'', 10697 (1988).
# J. Vi&ntilde;als and D. Jasnow. [[Finite-size scaling analysis of the decay of an unstable state during a first order phase transition| https://www.worldscientific.com/doi/10.1142/S0217984988000126]]. //Mod. Phys. Lett. B// ''2'', 527 (1988).
# J. Vi&ntilde;als and M. Grant. [[Role of activated processes and boundary conditions in the domain growth of the Potts model|https://journals.aps.org/prb/abstract/10.1103/PhysRevB.36.7036]]. //Phys. Rev. B// ''36'', 7036 (1987).
# J. Vi&ntilde;als and J.D. Gunton. [[Fixed Points and domain growth for the Potts model|https://journals.aps.org/prb/abstract/10.1103/PhysRevB.33.7795]]. //Phys. Rev. B// ''33'', 7795 (1986).
# J. Vi&ntilde;als and J.D. Gunton. [[Pattern formation in reversible cellular automata|http://iopscience.iop.org/article/10.1088/0305-4470/19/15/013?pageTitle=IOPscience]]. //J. Phys. A// ''19'', L933 (1986).
# S. Kumar, J. Vi&ntilde;als, and J. D. Gunton. [[Monte Carlo renormalization-group study of the dynamics of the kinetic Ising model|https://journals.aps.org/prb/abstract/10.1103/PhysRevB.34.1908]]. //Phys. Rev. B// ''34'', 1908 (1986).
# J. Vi&ntilde;als and J.D. Gunton. [[Kinetics of island growth for a model of HFe|https://www.sciencedirect.com/science/article/pii/0039602885906879]]. //Surface Sci.// ''157'', 473 (1985).
# J. Vi&ntilde;als, M. Grant, M. San Miguel, J.D. Gunton, and E. T. Gawlinski. [[Monte Carlo Renormalization-Group Study of the Dynamics of an Unstable State|https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.54.1264]]. //Phys. Rev. Lett.// ''54'', 1264 (1985).
# M. Grant, M. San Miguel, J. Vi&ntilde;als, and J. D. Gunton. [[Theory for the early stages of phase separation: The long-range-force limit|https://journals.aps.org/prb/abstract/10.1103/PhysRevB.31.3027]]. //Phys. Rev. B// ''31'', 3027 (1985).
# J. Vi&ntilde;als, V. Torra, A. Planes and J.L. Macqueron. [[The effect of atomic order in the thermodynamic properties of the martensitic transformation in CuZn and CuZnAl alloys|https://www.tandfonline.com/doi/abs/10.1080/01418618408237525?journalCode=tpha20]]. //Phil. Mag. A// ''50'', 653 (1984).
# A. Planes, J. Vi&ntilde;als and V. Torra. [[Effect of atomic order on a martensitic transformation|https://www.tandfonline.com/doi/abs/10.1080/01418618308234909]]. //Phil. Mag. A//  ''48'', 501 (1983).
!!! Faraday waves
# J.M. Vega, S. Ruediger, and J. Vi&ntilde;als. [[A phenomenological model of weakly damped Faraday waves and the associated mean flow|http://dx.doi.org/10.1103/PhysRevE.70.046306]]. //Phys. Rev. E// ''70'', 046306 (2004).
# P. Chen and J. Vi&ntilde;als. [[Stability and pattern selection in parametrically driven surface waves|https://books.google.com/books?hl=en&lr=&id=2gg2koWJhToC&oi=fnd&pg=PR9&dq=narayanan+fluid+dynamics+at+interfaces&ots=WN-u1JBCA4&sig=ZT9xwWIGs-grI2i8YaaI3R0gUBc#v=onepage&q=narayanan%20fluid%20dynamics%20at%20interfaces&f=false]], in "Fluid dynamics at interfaces", W. Shyy and R. Narayanan eds., (Cambridge University Press, Cambridge, 1999).
# P. Chen and J. Vi&ntilde;als. [[Amplitude equations and pattern selection in Faraday waves|http://dx.doi.org/10.1103/PhysRevE.60.559]]. //Phys. Rev. E// ''60'', 551 (1999).
# J. Vi&ntilde;als. [[Coherent Structures in Convection and Parametrically Driven Surface Waves|https://nyaspubs.onlinelibrary.wiley.com/doi/abs/10.1111/j.1749-6632.1998.tb08963.x]]. //Ann. N.Y. Acad. Sci.// ''848'', 121 (1998).
# W. Zhang and J. ViƱals. [[Numerical study of pattern formation in weakly damped parametric surface waves|http://dx.doi.org/10.1016/S0167-2789(97)00172-3]]. //Physica D// ''116'', 225 (1998).
# P. Chen and J. Vi&ntilde;als. [[Pattern selection in Faraday waves|http://dx.doi.org/10.1103/PhysRevLett.79.2670]]. //Phys. Rev. Lett.// ''79'', 2670 (1997).
# W. Zhang and J. Vi&ntilde;als. [[Pattern formation in weakly damped parametric surface waves driven by two frequency components|http://dx.doi.org/10.1017/S0022112097005387]]. //J. Fluid Mech.// ''341'', 225 (1997).
# W. Zhang and J. Vi&ntilde;als. [[Pattern formation in weakly damped parametric surface waves|http://dx.doi.org/10.1017/S0022112096004764]]. //J. Fluid Mech.// ''336'', 301 (1997).
# W. Zhang and J. Vi&ntilde;als. [[Square patterns and quasipatterns in weakly damped Faraday waves|http://dx.doi.org/10.1103/PhysRevE.53.R4283]]. //Phys. Rev. E// ''53'', R4283 (1996).
# W. Zhang and J. Vi&ntilde;als. [[Secondary Instabilities and Spatiotemporal Chaos in Parametric Surface Waves|http://dx.doi.org/10.1103/PhysRevLett.74.690]]. //Phys. Rev. Lett.// ''74'', 690 (1995).
!!! Coarse grained hydrodynamics
# H.-Y. Chen, D. Jasnow and J. Vi&ntilde;als. [[Interface and contact line motion in a two phase fluid under shear flow|http://dx.doi.org/10.1103/PhysRevLett.85.1686]]. //Phys. Rev. Lett.// ''85'', 1686 (2000).
# D. Jasnow and J. Vi&ntilde;als. [[Coarse-grained description of thermo-capillary flow|http://link.aip.org/link/doi/10.1063/1.868851]]. //Phys. Fluids// ''8'', 660 (1996).
# M. Gurtin, D. Polignone and J. Vi&ntilde;als. [[Two-phase binary fluids and immiscible fluids described by an order parameter|http://dx.doi.org/10.1142/S0218202596000341]]. //Mathematical Models and Methods in Applied Sciences// ''6'', 815 (1996). Also at [[arXiv:patt-sol/9506001|http://arxiv.org/abs/patt-sol/9506001]], [[here (PostScript)|http://homepages.spa.umn.edu/~vinals/mss/mort.ps]], or [[here (PDF) |http://homepages.spa.umn.edu/~vinals/mss/m3as_6_815_1996.pdf]].
# R. Chella and J. Vi&ntilde;als. [[Mixing of a two-phase fluid by cavity flow|http://dx.doi.org/10.1103/PhysRevE.53.3832]]. //Phys. Rev. E// ''53'', 3832 (1996).
!!! Defect motion in solids or modulated phases
# V. Skogvoll, A. Skaugen, L. Angheluta, and J. Vi&ntilde;als. [[Dislocation nucleation in the phase field crystal model|http://homepages.spa.umn.edu/~vinals/mss/vs1.pdf]]. Submitted to //Phys. Rev. Lett.//
# A. Acharya and J. Vi&ntilde;als. [[Field Dislocation Mechanics and Phase Field Crystal models|https://journals.aps.org/prb/abstract/10.1103/PhysRevB.102.064109]]. //Phys. Rev. B// ''102'', 064109 (2020).
# M. Salvalaglio, L. Angheluta, Z.-F. Huang, A. Voigt, K.R. Elder, and J. Vi&ntilde;als. [[A coarse-grained phase-field crystal model of plastic motion|https://doi.org/10.1016/j.jmps.2019.103856]]. //Journal of the Mechanics and Physics of Solids// ''137'', 103856 (2020).
# A. Skaugen, L. Angheluta, and J. Vi&ntilde;als. [[Separation of elastic and plastic times scales in a phase field crystal model|http://homepages.spa.umn.edu/~vinals/mss/as2.pdf]]. //Phys. Rev. Lett.// ''121'', 255501 (2018).
# A. Skaugen, L. Angheluta, and J. Vi&ntilde;als. [[Dislocation dynamics and crystal plasticity in the phase field crystal model|https://journals.aps.org/prb/abstract/10.1103/PhysRevB.97.054113]]. //Phys. Rev. B// ''97'', 054113 (2018).
# B. Perreault, J . ViƱals, and J.M. Rickman. [[Impact of lattice rotation on dislocation motion|http://link.aps.org/doi/10.1103/PhysRevB.93.014107]]. //Phys. Rev. B// ''93'', 014107 (2016).
# J.M. Rickman, J. Vi&ntilde;als, and R. ~LeSar. [[Unified framework for dislocation-based defect energetics|http://dx.doi.org/10.1080/14786430412331314618]]. //Phil. Mag. A// ''85'', 917 (2005).
# D. Boyer and J. Vi&ntilde;als. [[Weakly nonlinear theory of grain boundary motion in patterns with crystalline symmetry|http://dx.doi.org/10.1103/PhysRevLett.89.055501]]. //Phys. Rev. Lett.// ''89'', 055501 (2002).
# D. Boyer and J. Vi&ntilde;als. [[Grain boundary pinning and glassy dynamics in stripe phases|http://dx.doi.org/10.1103/PhysRevE.65.046119]]. //Phys. Rev. E// ''65'', 046119 (2002).
# D. Boyer and J. Vi&ntilde;als. [[Domain coarsening of stripe patterns close to onset|http://dx.doi.org/10.1103/PhysRevE.64.050101]]. //Phys. Rev. E// ''64'', 050101(R) (2001).
# D. Boyer and J. Vi&ntilde;als. [[Grain boundary motion in layered phases|http://dx.doi.org/10.1103/PhysRevE.63.061704]]. //Phys. Rev. E// ''63'', 061704 (2001).
# J.M. Rickman and J. Vi&ntilde;als. [[Modeling of dislocation structures in materials|http://dx.doi.org/10.1080/01418619708209855]]. //Phil. Mag. A// ''75'', 1251 (1997).
# K.R. Elder, J. Vi&ntilde;als and M. Grant. [[Dynamic scaling and quasiordered states in the two-dimensional Swift-Hohenberg equation|http://dx.doi.org/10.1103/PhysRevA.46.7618]]. //Phys. Rev. A// ''46'', 7618 (1992).
# K.R. Elder, J. Vi&ntilde;als, and M. Grant. [[Ordering Dynamics in the Two-Dimensional Stochastic Swift-Hohenberg Equation|http://dx.doi.org/10.1103/PhysRevLett.68.3024]]. //Phys. Rev. Lett.// ''68'', 3024 (1992).
!!! ~Rayleigh-Benard convection
# E. Vitral, P.H. Leo, J. Vi&ntilde;als, S. Mukherjee, M.R. Paul, and Z.-F. Huang. [[Spiral defect chaos in Rayleigh-Benard convection: Asymptotic and numeric studies of azimuthal flows induced by rotating spirals|https://link.aps.org/doi/10.1103/PhysRevFluids.5.093501]]. //Phys. Rev. Fluids// ''5'', 093501 (2020).
# Z.-F. Huang and J. Vi&ntilde;als. [[Grain boundary dynamics in stripe phases of non potential systems|http://dx.doi.org/10.1103/PhysRevE.75.056202]]. //Phys. Rev. E// ''75'', 056202 (2007).
# H.W. Xi, J.D. Gunton, J. Vi&ntilde;nals. Complexity in ~Rayleigh-Benard convection. In "Computer Simulations in Condensed Matter Physics VII", D.P. Landau, K.K. Mon and H.B. Schuttler, eds., (Springer Verlag, Berlin, 1994).
# H. Xi, J.D. Gunton and J. Vi&ntilde;als. [[Spiral Defect Chaos in a Model of Rayleigh-Benard Convection|http://dx.doi.org/10.1103/PhysRevLett.71.2030]]. //Phys. Rev. Lett.// ''71'', 2030 (1993).
# H.-W. Xi, J.D. Gunton and J. Vi&ntilde;als. [[Pattern formation during Rayleigh-Benard convection in non-Boussinesq fluids|http://homepages.spa.umn.edu/~vinals/mss/sh_xi4.ps]]. arXiv.org:patt-sol/9305001 (1993).
# H.-W. Xi, J.D. Gunton and J. Vi&ntilde;als. [[Spiral-pattern formation in Rayleigh-Benard Convection|http://dx.doi.org/10.1103/PhysRevE.47.R2987]]. //Phys. Rev. E// ''47'', R2987 (1993).
# H. Xi, J. Vi&ntilde;als and J.D. Gunton. [[Numerical study of pattern formation following a convective instability in non-Boussinesq fluids|http://dx.doi.org/10.1103/PhysRevA.46.R4483]]. //Phys. Rev. A// ''46'', R4483 (1992).
# J. Vi&ntilde;als, H.-W. Xi, and J.D. Gunton. [[Numerical study of the influence of forcing terms and fluctuations near onset on the roll pattern in Rayleigh-Benard convection in a simple fluid|http://dx.doi.org/10.1103/PhysRevA.46.918]]. //Phys. Rev. A// ''46'', 918 (1992).
# H.-W. Xi, J. Vi&ntilde;als, and J.D. Gunton. [[Numerical solution of the Swift-Hohenberg equation in two dimensions|http://dx.doi.org/10.1016/0378-4371(91)90173-A]]. //Physica A// ''177'', 356 (1991).
!!! Nonequilibrium statistical mechanics
# M. Gaudreault, F. Drolet, and J . ViƱals. [[Bifurcation threshold of the delayed van der Pol oscilaltor under stochastic modulation|http://link.aps.org/doi/10.1103/PhysRevE.85.056214]]. //Phys. Rev. E// ''85'', 056214 (2012).
# M. Gaudreault, J. Berbert, and J . ViƱals. [[Correlation times in stochastic equations with delayed feedback and multiplicative noise|http://dx.doi.org/10.1103/PhysRevE.83.011903]]. //Phys. Rev. E// ''83'', 011903 (2011).
#M. Gaudreault, F. Drolet, and J . ViƱals. [[Analytical determination of the bifurcation thresholds in stochastic differential equatoins with delayed feedback|http://dx.doi.org/10.1103/PhysRevE.82.051124]]. //Phys. Rev. E// ''82'', 051124 (2010).
# M. Gaudreault, F. Lepine and J . ViƱals. [[Pitchfork and Hopf bifurcation threshold in stochastic equations with delayed feedback|http://dx.doi.org/10.1103/PhysRevE.80.061920]]. //Phys. Rev. E// ''80'', 061920 (2009).
# F. Drolet and J. Vi&ntilde;als. [[Adiabatic elimination and reduced probability distribution functions in spatially extended systems with a fluctuating control parameter|http://dx.doi.org/10.1103/PhysRevE.64.026120]]. //Phys. Rev. E// ''64'', 026120 (2001).
# F. Drolet and J. Vi&ntilde;als. [[Abiabatic reduction near a bifurcation in stochastically modulated systems|http://dx.doi.org/10.1103/PhysRevE.57.5036]]. //Phys. Rev. E// ''57'', 5036 (1998).
# F. Drolet and J. Vi&ntilde;als. [[Onset of oscillatory instabilities under stochastic modulation|http://dx.doi.org/10.1103/PhysRevE.56.2649]]. //Phys. Rev. E// ''56'', 2649 (1997).
# E. ~Hernandez-Garcia, J. Vi&ntilde;als, R. Toral and M. San Miguel. [[Fluctuations and Pattern Selection near an Eckhaus Instability|http://dx.doi.org/10.1103/PhysRevLett.70.3576]]. //Phys. Rev. Lett.// ''70'', 3576 (1993).
# M. Lacasse, J. Vi&ntilde;als and M. Grant. [[Dynamic Monte Carlo renormalization-group method|http://dx.doi.org/10.1103/PhysRevB.47.5646]].  //Phys. Rev. B// ''47'', 5646 (1993).
# W.W. Mullins and J. Vi&ntilde;als. [[Self-similarity and growth kinetics driven by surface free energy reduction|http://dx.doi.org/10.1016/0001-6160(89)90096-5]]. //Acta metall.// ''37'', 991 (1989).
# E.T. Gawlinski, J. Vi&ntilde;als, and J.D. Gunton. [[Domain growth and scaling in the two-dimensional Langevin model|https://journals.aps.org/prb/abstract/10.1103/PhysRevB.39.7266]]. //Phys. Rev. B// ''39'', 7266 (1989).
# J. Vi&ntilde;als and D. Jasnow. [[Finite-size-scaling analysis of domain growth in the kinetic Ising model with conserved and nonconserved order parameters|https://journals.aps.org/prb/abstract/10.1103/PhysRevB.37.9582]]. //Phys. Rev. B// ''37'', 9582 (1988).
# J. Vi&ntilde;als and D. Jasnow. [[Finite-size scaling analysis of the decay of an unstable state during a first order phase transition|https://www.worldscientific.com/doi/10.1142/S0217984988000126]]. //Mod. Phys. Lett. B// ''2'', 527 (1988).
# J. Vi&ntilde;als and M. Grant. [[Role of activated processes and boundary conditions in the domain growth of the Potts model|https://journals.aps.org/prb/abstract/10.1103/PhysRevB.36.7036]]. //Phys. Rev. B// ''36'', 7036 (1987).
# J. Vi&ntilde;als and J.D. Gunton. [[Fixed Points and domain growth for the Potts model|https://journals.aps.org/prb/abstract/10.1103/PhysRevB.33.7795]]. //Phys. Rev. B// ''33'', 7795 (1986).
# J. Vi&ntilde;als and J.D. Gunton. [[Pattern formation in reversible cellular automata|http://iopscience.iop.org/article/10.1088/0305-4470/19/15/013?pageTitle=IOPscience]]. //J. Phys. A// ''19'', L933 (1986).
# S. Kumar, J. Vi&ntilde;als, and J. D. Gunton. [[Monte Carlo renormalization-group study of the dynamics of the kinetic Ising model|https://journals.aps.org/prb/abstract/10.1103/PhysRevB.34.1908]]. //Phys. Rev. B// ''34'', 1908 (1986).
# J. Vi&ntilde;als, M. Grant, M. San Miguel, J.D. Gunton, and E. T. Gawlinski. [[Monte Carlo Renormalization-Group Study of the Dynamics of an Unstable State|https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.54.1264]]. //Phys. Rev. Lett.// ''54'', 1264 (1985).
# M. Grant, M. San Miguel, J. Vi&ntilde;als, and J. D. Gunton. [[Theory for the early stages of phase separation: The long-range-force limit|https://journals.aps.org/prb/abstract/10.1103/PhysRevB.31.3027]]. //Phys. Rev. B// ''31'', 3027 (1985).

!!! Links
[[Nematic Colloids (OSF)|https://osf.io/8hcpe/]]
[[Group Site|http://vtcnls.tiddlyspot.com]]
[[Personal Site|http://jv2037.tiddlyspot.com]]
!!! Classes
[[PHYS 4041|http://phys4041.tiddlyspot.com]]
[[PHYS 5201|http://phys5201.tiddlyspot.com]]
[[PHYS 8702|http://phys8702.tiddlyspot.com]]
!!! Journals
[[arXiv.org|http://arxiv.org/]]
[[Physics|http://physics.aps.org/]]
!!! Conference Information
[[Physics calendar|http://www.conference-service.com/conferences/physics.html]]
[[International Society for Computational Biology|http://www.iscb.org/iscb-conference-events]]
School of Physics and Astronomy. University of Minnesota.
Jorge Vi&ntilde;als
.viewer img { padding-left:1em; padding-right:1em; } 

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}*/

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;}

#mainMenu {margin:1em; text-align:left;}
/* #mainMenu {margin:1em; text-align:left; border-style:solid;border-width:thin;border-color:#0000f0} */
 <<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 = 'vinals';

// 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 |
| 28/07/2020 13:22:00 | Jorge | [[/|http://vinals.tiddlyspot.com/]] | [[store.cgi|http://vinals.tiddlyspot.com/store.cgi]] | . | [[index.html | http://vinals.tiddlyspot.com/index.html]] | . | ok |
| 28/07/2020 13:23:23 | Jorge | [[/|http://vinals.tiddlyspot.com/]] | [[store.cgi|http://vinals.tiddlyspot.com/store.cgi]] | . | [[index.html | http://vinals.tiddlyspot.com/index.html]] | . |
| 30/07/2020 10:03:27 | Jorge | [[/|http://vinals.tiddlyspot.com/]] | [[store.cgi|http://vinals.tiddlyspot.com/store.cgi]] | . | [[index.html | http://vinals.tiddlyspot.com/index.html]] | . | ok |
| 30/07/2020 10:28:06 | Jorge | [[/|http://vinals.tiddlyspot.com/]] | [[store.cgi|http://vinals.tiddlyspot.com/store.cgi]] | . | [[index.html | http://vinals.tiddlyspot.com/index.html]] | . | ok |
| 30/07/2020 11:12:55 | Jorge | [[/|http://vinals.tiddlyspot.com/]] | [[store.cgi|http://vinals.tiddlyspot.com/store.cgi]] | . | [[index.html | http://vinals.tiddlyspot.com/index.html]] | . |
| 06/08/2020 12:25:27 | Jorge | [[/|http://vinals.tiddlyspot.com/]] | [[store.cgi|http://vinals.tiddlyspot.com/store.cgi]] | . | [[index.html | http://vinals.tiddlyspot.com/index.html]] | . |
| 06/08/2020 16:34:55 | Jorge | [[/|http://vinals.tiddlyspot.com/]] | [[store.cgi|http://vinals.tiddlyspot.com/store.cgi]] | . | [[index.html | http://vinals.tiddlyspot.com/index.html]] | . |
| 31/08/2020 12:00:22 | Jorge | [[/|http://vinals.tiddlyspot.com/]] | [[store.cgi|http://vinals.tiddlyspot.com/store.cgi]] | . | [[index.html | http://vinals.tiddlyspot.com/index.html]] | . |
| 10/09/2020 14:05:41 | Jorge | [[/|http://vinals.tiddlyspot.com/]] | [[store.cgi|http://vinals.tiddlyspot.com/store.cgi]] | . | [[index.html | http://vinals.tiddlyspot.com/index.html]] | . |
| 16/09/2020 07:53:13 | Jorge | [[/|http://vinals.tiddlyspot.com/]] | [[store.cgi|http://vinals.tiddlyspot.com/store.cgi]] | . | [[index.html | http://vinals.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");


//}}}

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.

$$
a = \sqrt{b}
$$

@@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://vinals.tiddlyspot.com/controlpanel]] (your control panel username is //vinals//).
<<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.
Ā© Jorge ViƱals, 2009-2013