<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Field Precision software tips &#187; General</title>
	<atom:link href="http://fieldp.com/myblog/category/general/feed/" rel="self" type="application/rss+xml" />
	<link>http://fieldp.com/myblog</link>
	<description>Effective finite-element modeling of electromagnetic fields</description>
	<lastBuildDate>Thu, 17 May 2012 12:45:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Measure anything on your computer screen</title>
		<link>http://fieldp.com/myblog/2011/measure-anything-on-your-computer-screen/</link>
		<comments>http://fieldp.com/myblog/2011/measure-anything-on-your-computer-screen/#comments</comments>
		<pubDate>Fri, 25 Nov 2011 17:30:37 +0000</pubDate>
		<dc:creator>shumphries</dc:creator>
				<category><![CDATA[Educational]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Techniques]]></category>

		<guid isPermaLink="false">http://fieldp.com/myblog/?p=1200</guid>
		<description><![CDATA[<p>One of my all-time treasured possessions is a Gerber Variable Scale [1] (Fig. 1). It was an absolute must-have if you were doing science in the 60s and 70s. The idea was straightforward — the device was a ruler consisting of a precision spring that you could adjust to any length to match graphs or oscillographs [2]. [...]]]></description>
			<content:encoded><![CDATA[<p>One of my all-time treasured possessions is a Gerber Variable Scale [1] (Fig. 1). It was an absolute must-have if you were doing science in the 60s and 70s. The idea was straightforward — the device was a ruler consisting of a precision spring that you could adjust to any length to match graphs or oscillographs [2]. Simple but remarkably useful!</p>
<div class="wp-caption aligncenter" style="width: 610px"><img class=" " title="Figure 1. The Gerber Variable Scale (circa 1970)" src="http://www.fieldp.com/myblog/images/gerber_scale_s.jpg" alt="Figure 1. The Gerber Variable Scale (circa 1970)" width="600" height="226" /><p class="wp-caption-text">Figure 1. The Gerber Variable Scale (circa 1970)</p></div>
<p>Nowadays, practically everything I measure is on a computer screen. For this application, it&#8217;s almost impossible to use my old Gerber scale, although I have tried many times. For a couple decades, my dream has been to make something I could use on the computer that would be as useful and (hopefully) as simple. I tried several freeware screen rulers, but the results were disappointing. They were designed to measure <em>literal </em>distances on the computer screen (in pixels, mm, &#8230;) rather than the lengths of objects <em>displayed </em>on the screen. The situation was analogous to having a ruler that could measure the size of a sheet of paper, but not the dimensions of data  printed on the paper.</p>
<p>I am happy to announce that I have just completed my vision of the ideal screen measurement system, the Field Precision <strong>Universal Scale</strong>. With it, you can create custom rulers calibrated to graphical objects displayed on your computer screen by any program. The <strong>Universal Scale</strong> has other analysis features that extend well beyond simple rulers. The program is available for free download as a service of Field Precision to the science and engineering communities. The official release date is January 1, 2012. You can get a beta copy now at <a href="http://www.fieldp.com/fpuniscale.html" target="_blank">http://www.fieldp.com/fpuniscale.html</a>.</p>
<div class="wp-caption aligncenter" style="width: 610px"><img title="Figure 2. Universal Scale main window and sample ruler." src="http://www.fieldp.com/myblog/images/main_window_ruler.png" alt="Figure 2. Universal Scale main window and sample ruler." width="600" height="316" /><p class="wp-caption-text">Figure 2. Universal Scale main window and sample ruler.</p></div>
<p>Figure 2 shows the main window with a ruler displayed. Note that the program comes in a nice leather case. The push buttons on the left call up the three main functions:</p>
<ul>
<li>Create custom rulers that may be moved around the screen over other applications.</li>
<li>Measure points and digitize curves of graphs in publications and reports.</li>
<li>Measure dimensions on drawings and diagrams in documents.</li>
</ul>
<p>Figure 3 shows a screenshot of a drawing analysis. In the remainder of this article, I&#8217;ll describe some interesting features of the program.</p>
<div class="wp-caption aligncenter" style="width: 610px"><img title="Figure 3. Set up to analyze dimensions of a diagram in a publication." src="http://www.fieldp.com/myblog/images/measure_drawing.png" alt="Figure 3. Set up to analyze dimensions of a diagram in a publication." width="600" height="290" /><p class="wp-caption-text">Figure 3. Set up to analyze dimensions of a diagram in a publication.</p></div>
<ul>
<li>My Gerber Variable Scale may lie in a drawer for months between uses. When I take it out, I never have doubts about how it works. I tried to maintain the same user-friendliness in the <strong>Universal Scale</strong>. The challenge is that the program does a lot more than slide back-and-forth. I limited the program to few well-defined functions with minimal bells-and-whistles. Contextual instructions are displayed at each step, so it&#8217;s not necessary for users to memorize procedures.</li>
<li>Measurements with physical devices used to be fun in the old days, so I gave the program a retro look.</li>
<li>Calibration sheets are the key to program operation. They are translucent windows that act like tracing paper that can be moved over any displayed graphical material on the computer screen. Mouse clicks in the measurement sheet are used to calibrate rulers, graphs and drawings and to measure points.</li>
<li>I applied my experience with normal coordinates in finite-element analysis to measurements on graphs. The program uses a generalized trapezoid coordinate system. This means that you can obtain good measurements from badly-scanned graphs (rotations, distortions,&#8230;).</li>
</ul>
<p><strong>Footnotes</strong></p>
<p>[1] Unfortunately, it appears that the Gerber Variable Scale is no longer available for purchase. As a matter of historical interest, here is a link to the original manual: <a href="http://www.fieldp.com/myblog/examples/GerberVariableScale.pdf" target="_self">GerberVariableScale.pdf</a>.</p>
<p>[2] Oscillographs were Polaroid photographs of oscilloscope traces, the only way to record fast transient data before digitizers.</p>
]]></content:encoded>
			<wfw:commentRss>http://fieldp.com/myblog/2011/measure-anything-on-your-computer-screen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Website introduction video</title>
		<link>http://fieldp.com/myblog/2011/website-introduction-video/</link>
		<comments>http://fieldp.com/myblog/2011/website-introduction-video/#comments</comments>
		<pubDate>Thu, 13 Oct 2011 15:32:03 +0000</pubDate>
		<dc:creator>shumphries</dc:creator>
				<category><![CDATA[Educational]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[NewFeatures]]></category>

		<guid isPermaLink="false">http://fieldp.com/myblog/?p=1196</guid>
		<description><![CDATA[<p>We&#8217;ve added a lot of content to our website at www.fieldp.com in 13 years. In fact, there&#8217;s so much material that the site might intimidating to first-time visitors looking for software or educational resources. To help, we&#8217;ve added a short overview video on the home page. Here it [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve added a lot of content to our website at www.fieldp.com in 13 years. In fact, there&#8217;s so much material that the site might intimidating to first-time visitors looking for software or educational resources. To help, we&#8217;ve added a short overview video on the home page. Here it is:</p>
<p><!-- copy and paste. Modify height and width if desired. --> <object id="scPlayer" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="498" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="data" value="http://content.screencast.com/users/Field_Precision_LLC/folders/Default/media/e265c5e2-5bdb-4ec0-ba3c-76c49d23c2be/company_profile_choosing_controller.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#FFFFFF" /><param name="flashVars" value="containerwidth=640&amp;containerheight=498&amp;showstartscreen=true&amp;showendscreen=true&amp;loop=false&amp;autostart=false&amp;color=000000,000000&amp;thumbscale=45&amp;content=http://content.screencast.com/users/Field_Precision_LLC/folders/Default/media/e265c5e2-5bdb-4ec0-ba3c-76c49d23c2be/Company_Profile_Choosing.mp4&amp;blurover=false" /><param name="allowFullScreen" value="true" /><param name="scale" value="showall" /><param name="allowScriptAccess" value="always" /><param name="base" value="http://content.screencast.com/users/Field_Precision_LLC/folders/Default/media/e265c5e2-5bdb-4ec0-ba3c-76c49d23c2be/" /><param name="src" value="http://content.screencast.com/users/Field_Precision_LLC/folders/Default/media/e265c5e2-5bdb-4ec0-ba3c-76c49d23c2be/company_profile_choosing_controller.swf" /><embed id="scPlayer" type="application/x-shockwave-flash" width="640" height="498" src="http://content.screencast.com/users/Field_Precision_LLC/folders/Default/media/e265c5e2-5bdb-4ec0-ba3c-76c49d23c2be/company_profile_choosing_controller.swf" base="http://content.screencast.com/users/Field_Precision_LLC/folders/Default/media/e265c5e2-5bdb-4ec0-ba3c-76c49d23c2be/" allowscriptaccess="always" scale="showall" allowfullscreen="true" flashvars="containerwidth=640&amp;containerheight=498&amp;showstartscreen=true&amp;showendscreen=true&amp;loop=false&amp;autostart=false&amp;color=000000,000000&amp;thumbscale=45&amp;content=http://content.screencast.com/users/Field_Precision_LLC/folders/Default/media/e265c5e2-5bdb-4ec0-ba3c-76c49d23c2be/Company_Profile_Choosing.mp4&amp;blurover=false" bgcolor="#FFFFFF" quality="high" data="http://content.screencast.com/users/Field_Precision_LLC/folders/Default/media/e265c5e2-5bdb-4ec0-ba3c-76c49d23c2be/company_profile_choosing_controller.swf"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://fieldp.com/myblog/2011/website-introduction-video/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://content.screencast.com/users/Field_Precision_LLC/folders/Default/media/e265c5e2-5bdb-4ec0-ba3c-76c49d23c2be/Company_Profile_Choosing.mp4&amp;amp" length="14288650" type="video/mp4" />
		</item>
		<item>
		<title>Identifying a proxy server</title>
		<link>http://fieldp.com/myblog/2011/identifying-a-proxy-server/</link>
		<comments>http://fieldp.com/myblog/2011/identifying-a-proxy-server/#comments</comments>
		<pubDate>Thu, 28 Jul 2011 16:53:27 +0000</pubDate>
		<dc:creator>shumphries</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Techniques]]></category>

		<guid isPermaLink="false">http://fieldp.com/myblog/?p=1107</guid>
		<description><![CDATA[<p>As part of the license management system, our main technical programs make an Internet check of the computer activation status. Setting up an activation setup is largely automatic on most computers, requiring little user effort. Some manual operations are necessary if the user&#8217;s computer is on a company network with a proxy server. This posting reviews [...]]]></description>
			<content:encoded><![CDATA[<p>As part of the license management system, our main technical programs make an Internet check of the computer activation status. Setting up an activation setup is largely automatic on most computers, requiring little user effort. Some manual operations are necessary if the user&#8217;s computer is on a company network with a proxy server. This posting reviews the procedure.</p>
<p>1) If the installed programs give an activation error message, the first step is to check whether you are on a proxy server. You can check this with your browser (the browser must have a record of proxy settings to communicate with the Internet).</p>
<p><strong>Firefox</strong>: Click on <em>Tools/Options</em> and then the <em>Advanced </em>tab. Activate the <em>Network </em>tab, In the <em>Connection </em>box, click on the <em>Settings </em>button. If you are on a proxy server, the settings will be listed in the dialog. Note the IP and port values for the HTTP proxy.</p>
<p><strong>Internet Explorer</strong>: Click on <em>Tools/Internet</em> options. Choose the <em>Connections </em>tab and then click on the <em>LAN settings</em> button. The proxy settings are listed in the dialog.</p>
<p>2) Field Precision programs will recognize the proxy server if you set the environmental variable <em>HTTP_PROXY</em>. To set a temporary value for testing, use the <em>Set</em> command from the command prompt (<strong>cmd.exe</strong>):</p>
<pre>set http_proxy=value</pre>
<p>If the proxy server does not require a user name and password, the value of <em>HTTP_PROXY</em> has the following form:</p>
<pre>http://proxyname:port
Example: set http_proxy=http://proxy.myprovider.net:8080</pre>
<p>Use the following form if the proxy server requires a user name and password:</p>
<pre>http://user:password@host:port
Example: set http_proxy=http://jsmith:ghRt334@proxy.company.com:8001/</pre>
<p>Check whether you can launch <strong>mesh.exe</strong> or <strong>metatmesh.exe</strong>.</p>
<p>3) If the programs run, you should set a permanent environmental variable. Procedures vary slightly in different versions of Windows — here is the one for NT. Run the <em>Control Panel </em>and click on <em>System</em>. Activate the <em>Advanced </em>tab to bring up the dialog shown in the figure. Click the button <em>Environmental variables </em>to show the second dialog. Click the appropriate <em>New </em>button to set a system-wide variable or one that will apply only to your user name. Fill in the variable name <em>HTTP_PROXY</em> and add a value as above.</p>
<div class="wp-caption aligncenter" style="width: 671px"><img class=" " title="Setting an environmental variable in Windows" src="http://www.fieldp.com/myblog/images/proxy.png" alt="Setting an environmental variable in Windows" width="661" height="398" /><p class="wp-caption-text">Setting an environmental variable in Windows</p></div>
]]></content:encoded>
			<wfw:commentRss>http://fieldp.com/myblog/2011/identifying-a-proxy-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Large mesh plots revisited: program-not-responding</title>
		<link>http://fieldp.com/myblog/2011/large-mesh-plots-revisited-program-not-responding/</link>
		<comments>http://fieldp.com/myblog/2011/large-mesh-plots-revisited-program-not-responding/#comments</comments>
		<pubDate>Tue, 05 Apr 2011 21:19:42 +0000</pubDate>
		<dc:creator>shumphries</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Techniques]]></category>

		<guid isPermaLink="false">http://fieldp.com/myblog/?p=1028</guid>
		<description><![CDATA[<p>Several users have reported intermittent plotting problems when working in Windows 7 with large meshes (i.e., millions of elements) in our 2D and 3D programs. I addressed the problem in a previous blog . In recent tests, I found that the precautions I described in the blog were necessary but not sufficient to ensure reliable plotting. [...]]]></description>
			<content:encoded><![CDATA[<p>Several users have reported intermittent plotting problems when working in Windows 7 with large meshes (<em>i.e.</em>, millions of elements) in our 2D and 3D programs. I addressed the problem in a <a href="(http://fieldp.com/myblog/2011/plotting-large-meshes/" target="_blank">previous blog </a>. In recent tests, I found that the precautions I described in the blog were necessary but not sufficient to ensure reliable plotting. This blog describes what I hope will be the final resolution.</p>
<p>The basic problem is that plotting a huge mesh is a big task, one that takes several seconds. Windows XP was a patient and well-adjusted operating system, so we never observed problems with large graphics tasks. In contrast, flashy Windows 7 always wants to show its speed and hates any operations that demand time. Our graphics programs create a memory bitmap and then flash it to the screen. For complex plots, the operations are intensive. There are two circumstances during bitmap generation where the plot may never appear:</p>
<ul>
<li>The user changes the window focus (the issue discussed in the previous blog).</li>
<li>Windows 7 issues a <em>Program not responding</em> message.</li>
</ul>
<p>Clearly, the solution to the second problem is to set Windows 7 so that it waits longer before sashaying off in a snit. Finding out how to do this is the real challenge. Windows Help offers no help, and Internet threads on the topic are generally diffuse. I offer the following procedure for our customers and as a general public service.</p>
<p><strong>HOW TO MAKE WINDOWS 7 WAIT LONGER BEFORE ISSUING A PROGRAM-NOT-RESPONDING MESSAGE</strong></p>
<ol>
<li>In the <em>Start </em>menu, pick <em>Run</em>.</li>
<li>Enter <em>regedit </em>and run the program.</li>
<li>Navigate to <em>HKEY_CURRENT_USER/Desktop</em>.</li>
<li>Right-click on <em>Desktop </em>and choose <em>New/String value</em>.</li>
<li>Fill in the name <em>HungAppTimeout </em>and press enter to create the entry.</li>
<li>Right click on <em>HungAppTimeout </em>and choose <em>Modify</em>.</li>
<li>Enter a number like 10000 for normal large meshes. Use a higher value if necessary.</li>
<li>Exit <em>regedit</em>.</li>
</ol>
<p>The new variable takes effect the next time you boot up. At this point, Field Precision programs should not cause the <em>Program not responding</em> message during bitmap regeneration. Large plots will be displayed as long as you have not changed the window focus.</p>
<p>Please contact me at <a href="mailto://humphriess@fieldp.com" target="_self">humphriess@fieldp.com</a> if you find this procedure works or does not work.</p>
]]></content:encoded>
			<wfw:commentRss>http://fieldp.com/myblog/2011/large-mesh-plots-revisited-program-not-responding/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PDF bookmarks in Latex documents</title>
		<link>http://fieldp.com/myblog/2011/pdf-bookmarks-in-latex-documents/</link>
		<comments>http://fieldp.com/myblog/2011/pdf-bookmarks-in-latex-documents/#comments</comments>
		<pubDate>Tue, 15 Feb 2011 16:46:35 +0000</pubDate>
		<dc:creator>shumphries</dc:creator>
				<category><![CDATA[Educational]]></category>
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://fieldp.com/myblog/?p=988</guid>
		<description><![CDATA[<p>As I mentioned in previous posts, Latex is by far the best choice for writing scientific articles and books. In comparison to word processors, Latex requires a significant learning investment in the beginning, but offers smooth sailing thereafter. To put this in perspective, if you are going to spend a lifetime writing scientific papers is it [...]]]></description>
			<content:encoded><![CDATA[<p>As I mentioned in previous posts, Latex is by far the best choice for writing scientific articles and books. In comparison to word processors, Latex requires a significant learning investment in the beginning, but offers smooth sailing thereafter. To put this in perspective, if you are going to spend a lifetime writing scientific papers is it worthwhile to spend a month learning Latex as opposed to wearing concrete sneakers for the next 40 years?  For another analogy, consider getting to the South Pole:</p>
<p>Amundsen → Latex<br />
Scott → Word</p>
<p>Recently, I had an opportunity to appreciate the benefits of Latex in updating our instruction manuals. We&#8217;ve been somewhat lax in implementing bookmarks in the PDF documents. In the absence of bookmarks, viewers produce a default display of numbered pages – not very useful. Considering that we support over 30 full-length manuals, I feared that we faced a considerable effort. The surprisingly good news was that hardly any work was required to modify our Latex documents. I will review the steps in this post.</p>
<p>These posts give instructions for obtaining and setting up a Latex environment on a Windows machine, including support for illustrations:</p>
<ul>
<li><a href="http://fieldp.com/myblog/2008/toss-the-word-processor-1/" target="_blank">Toss the word processor 1</a></li>
<li><a href="http://fieldp.com/myblog/2008/toss-the-word-processor-2/" target="_blank">Toss the word processor 2</a></li>
<li><a href="http://fieldp.com/myblog/2008/toss-the-word-processor-3/" target="_blank">Toss the word processor 3</a></li>
</ul>
<p>I will assume you have this setup, based on the freeware packages MikTex, TexnicCenter and GoScript. It supports the output profile <em>LaTeX -&gt; PS -&gt; PDF</em> in TexnicCenter for creating high-quality PDF documents. I also assume that you downloaded the full MikTeX package.</p>
<p>To add PDF bookmarks to an existing document, simply add one line to the header to invoke the HyperRef package:</p>
<pre>\documentclass[12pt]{article}
...
\usepackage{hyperref}
...
\begin{document}</pre>
<p>Then, click the <em>Rebuild </em>button three times to generate link files and update references.</p>
<p>As shown in the figure, the existing chapter, section and subsection headings are used to build a document structure tree in the bookmark area (left). Entries in the document table-of-contents become active links. In addition, all references to figure, table and section numbers become active links. A lot of functionality for one minute of effort!</p>
<div class="wp-caption aligncenter" style="width: 560px"><img title="Bookmark view in Foxit Reader" src="http://www.fieldp.com/myblog/images/pdf_bookmark.png" alt="Bookmark view in Foxit Reader" width="550" height="363" /><p class="wp-caption-text">Bookmark view in Foxit Reader</p></div>
<p>The illustration shows results using the HyperRef defaults. There are many (perhaps too many) options to customize documents. This is a good reference page: <a href="http://en.wikibooks.org/wiki/LaTeX/Hyperlinks" target="_blank">http://en.wikibooks.org/wiki/LaTeX/Hyperlinks</a>. As an example, use this statement to remove the red boxes and color all links blue:</p>
<pre>\usepackage[colorlinks=true,linkcolor=blue]{hyperref}</pre>
]]></content:encoded>
			<wfw:commentRss>http://fieldp.com/myblog/2011/pdf-bookmarks-in-latex-documents/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Electric field limits for vacuum breakdown</title>
		<link>http://fieldp.com/myblog/2011/electric-field-limits-vacuum-breakdown/</link>
		<comments>http://fieldp.com/myblog/2011/electric-field-limits-vacuum-breakdown/#comments</comments>
		<pubDate>Sat, 12 Feb 2011 17:01:16 +0000</pubDate>
		<dc:creator>shumphries</dc:creator>
				<category><![CDATA[Educational]]></category>
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://fieldp.com/myblog/?p=966</guid>
		<description><![CDATA[<p>In a previous post, I spoke of useful design information that is oddly difficult to find on the Internet. In that case the topic was saturation curves for common soft magnetic materials. I recently had a similar experience in another application area — the maximum sustainable electric field in vacuum devices. The issue is critical for [...]]]></description>
			<content:encoded><![CDATA[<p>In a <a href="previous post" target="_blank">previous post</a>, I spoke of useful design information that is oddly difficult to find on the Internet. In that case the topic was saturation curves for common soft magnetic materials. I recently had a similar experience in another application area — the maximum sustainable electric field in vacuum devices. The issue is critical for the design of high-power electron guns.</p>
<p>I found several compendiums with hundreds of pages of information. As is often the case in multi-author anthologies, the bulk of the information could be be described as peripheral. A great deal of space was devoted to experimental techniques, breakdown theories, old-time calculations of electric fields in different geometries and the effects of background gas that shouldn&#8217;t be there in the first place. The references were strangely silent on issues like &#8220;What is the maximum field I can use?&#8221; In the end, I found two pages of useful information in the reference A.J. Durand and A.M. Shroff, <em>High Voltage Breakdown in the Electron Gun of Linear Microwave Tubes</em> in R.V. Latham (ed.), <strong>High Voltage Vacuum Insulation</strong> (Academic Press, London, 1995), Sect. 11.5. In this blog, I will give a capsule summary of the results.</p>
<p>The fundamental reference on vacuum breakdown quoted in the Durand article is L.J. Cranberg, J. Appl.  Phys. <strong>23</strong> (1952), 518 (unfortunately, the 59-year-old paper is being held captive at IEEE XPlore). The paper gives the following limit on maximum electric field:</p>
<p><em>Emax</em> = 10^5/<em>V</em></p>
<p>where <em>Emax </em>is in kV/cm and V is in kV. (I expect that the experiments were performed with a pulsed voltage in the microsecond regime because the predicted fields are much higher than can be sustained in a DC system.) To explain why the product of electric field and voltage is constant, Cranberg proposed the theory that vacuum breakdowns are caused by microparticle transport. The idea is that microscope electrode protrusions with induced charge proportional to <em>E</em> become detached and accelerate across the vacuum gap. When they strike the opposite electrode, their kinetic energy is proportional to product <em>E</em>·<em>V</em>. Above a certain energy, the inpact drives enough material from the surface to initiate a vacuum arc. The theory is consistent with several experimental observations:</p>
<ol>
<li>The limit applies to field levels on the cathode electrodes. The hypothesis is that local heating from the current of field-emitted electrons may help to dislodge microparticles.</li>
<li>Polished electrodes made of hard materials sustain higher voltages.</li>
<li>Breakdown levels may be raised by <em>conditioning</em>: the application of voltage over an extended period to initiate breakdowns to burn off cathode microprotrusions. During conditioning, the system is isolated with a high series resistance to prevent anode damage.</li>
<li>Surface contaminants should be avoided. This implies high vacuum and bakeout of the electrodes.</li>
</ol>
<p>For clean, well-conditioned surfaces, the breakdown level for long pulses (τ &gt; 1 ms) or DC operation is given by</p>
<p><em>Emax</em> ≤ 8000/<em>V</em></p>
<p>where <em>Emax</em> is in kV/cm and <em>V</em> in kV. Higher electric fields are possible with short pulses. In this case, the relationship is</p>
<p><em>Emax</em> ≤ 1000/(<em>V</em>·τ^0.34),</p>
<p>where <em>Emax</em> is in kV/cm, V in kV and τ in seconds. As an example, at τ= 1.0 μs, the equation implies that <em>Emax</em>·<em>V</em> = 1.096 ×10^5  kV²/cm.</p>
<p>The graph (adapted from the Durand article) shows the product <em>Emax</em>·<em>V</em> as a function of ?. The two limits are plotted as dashed red lines. The green circles are a collection of experimental results on breakdown levels for a variety of electron guns. A few points exceed the limit, and many points are well below it. The high variability reflects the fact that there are significant contributions of surface composition, conditioning, bakeout and vacuum quality.</p>
<div class="wp-caption aligncenter" style="width: 560px"><img title="Vacuum breakdown limits" src="http://www.fieldp.com/myblog/images/breakdown.png" alt="Vacuum breakdown limits" width="550" height="312" /><p class="wp-caption-text">Vacuum breakdown limits</p></div>
]]></content:encoded>
			<wfw:commentRss>http://fieldp.com/myblog/2011/electric-field-limits-vacuum-breakdown/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Doing four things at once</title>
		<link>http://fieldp.com/myblog/2011/doing-four-things-at-once/</link>
		<comments>http://fieldp.com/myblog/2011/doing-four-things-at-once/#comments</comments>
		<pubDate>Fri, 14 Jan 2011 21:15:44 +0000</pubDate>
		<dc:creator>shumphries</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://fieldp.com/myblog/?p=916</guid>
		<description><![CDATA[<p>People involved in technical work must often switch between different classes of tasks. For instance, when I am working on a report I may be running TeXnicCenter and Yap to do the writing, several of our finite-element programs to check data and to generate new results and FastStone and PaintShop Pro to create and to organize [...]]]></description>
			<content:encoded><![CDATA[<p>People involved in technical work must often switch between different classes of tasks. For instance, when I am working on a report I may be running <strong>TeXnicCenter </strong>and <strong>Yap </strong>to do the writing, several of our finite-element programs to check data and to generate new results and <strong>FastStone </strong>and <strong>PaintShop Pro</strong> to create and to organize illustrations. If I am also monitoring my E mail and <strong>Skype</strong>, the taskbar is filled and the screen is crowded with overlapping windows. Dual monitors may provide a partial solution, but the arrangement is hard on the neck.</p>
<p>Linux environments like <strong>KDE </strong>have long supported multiple virtual desktops. Here, you can group related tasks as individual screen displays and switch between them. It&#8217;s like having several desks and a very fast swivel chair. Virtual desktops are supported in Windows by an excellent freeware program, <strong>VirtuaWin</strong>. It&#8217;s available at:</p>
<p><a href="http://virtuawin.sourceforge.net/" target="_blank">http://virtuawin.sourceforge.net/</a></p>
<p>Besides recommending the program to customers who may not be familiar with it, I wanted to share a few usage tips and observations:</p>
<ul>
<li>You can set up from 2 to 9 desktops — 4 is the most common choice.</li>
<li>An icon in the system tray shows the relative position of the current desktop.</li>
<li>I have confirmed that the program works correctly with dual monitors. It is compatible with Windows XP, Vista and 7.</li>
<li>A nice feature is that only the programs active on the current desktop are represented on the taskbar, reducing congestion.</li>
<li>Hotkeys provide one option to move between desktops. The default to move right is the combination <em>WinKey/Right-arrow</em> in Windows XP and <em>Alt/WinKey/Right-arrow</em> in Windows 7. I suggest leaving them the way they are. Trying to change from the default in the <em>Setup </em>menu produces an error in Windows 7 and leaves incorrect choices that are difficult to remove. There is an FAQ entry on the program site, but it&#8217;s probably not worth worrying about. Most people will elect to use the mouse to switch screens.</li>
<li>There are several options for mouse control. Some are too sensitive — normal mouse activity may accidentally change the desk, leading to a brief panic when the screen goes blank. Some are not sensitive enough so it involves a determined effort to change desktops. The figure below shows my choice for the best option. The switch occurs if you hold the <em>Alt </em>key and move the mouse to the border with the destination desktop. This method works even if an active program fills the current screen.</li>
<li>A time always comes when where you forget which programs you have opened. To get a summary of the multi-desktop status, move the mouse over the <strong>VirtuaWin</strong> icon and click the left button. To make sure everything is secure when you are ready to turn off the computer, exit <strong>VirtuaWin</strong>. The screen reverts to a single deskstop gathering all active processes.</li>
<li><strong>VirtuaWin </strong>may not be for everyone. It takes some effort to organize tasks and to remember what you are doing on each desk. I suggest you try it see if it works for you. It&#8217;s easy to install and easy to remove.</li>
</ul>
<div class="wp-caption aligncenter" style="width: 354px"><img title="VirtuaWin dialog for mouse control" src="http://www.fieldp.com/myblog/images/virtua_win.png" alt="VirtuaWin dialog for mouse control" width="344" height="404" /><p class="wp-caption-text">VirtuaWin dialog for mouse control</p></div>
]]></content:encoded>
			<wfw:commentRss>http://fieldp.com/myblog/2011/doing-four-things-at-once/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Processing all Mesh files in a directory with Python</title>
		<link>http://fieldp.com/myblog/2010/processing-all-mesh-files-in-a-directory-with-python/</link>
		<comments>http://fieldp.com/myblog/2010/processing-all-mesh-files-in-a-directory-with-python/#comments</comments>
		<pubDate>Wed, 20 Oct 2010 16:50:19 +0000</pubDate>
		<dc:creator>shumphries</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Techniques]]></category>

		<guid isPermaLink="false">http://fieldp.com/myblog/?p=785</guid>
		<description><![CDATA[<p>We are wrapping up the Pulse program for magnetic field diffusion, the final component in our major update of TriComp packages this month. The final task is to test all the examples that are included with the program package. The first step for each example is to generate a Mesh output file for input to Pulse. [...]]]></description>
			<content:encoded><![CDATA[<p>We are wrapping up the <strong>Pulse </strong>program for magnetic field diffusion, the final component in our major update of <strong>TriComp </strong>packages this month. The final task is to test all the examples that are included with the program package. The first step for each example is to generate a <strong>Mesh </strong>output file for input to <strong>Pulse</strong>. As an alternative to interactively processing each by hand, I decided to make a <strong>Python </strong>utility to do the work automatically. The resulting script is not limited to <strong>Mesh </strong>&#8211; it can be adapted to any program that can run from the command prompt.</p>
<p>There are many options to find out how to do new things in <strong>Python </strong>and to refresh your memory on old things. I found the quickest route is to use an Internet search engine. For this project I used topics like <em>python all files in directory</em> and <em>python remove file suffix</em>. Here&#8217;s the resulting script</p>
<pre># File makemesh.pyw
# Process files *.min in the current directory with mesh.exe</pre>
<pre>1. import subprocess, os, glob
2. ProgName = "c:\\fieldp\\tricomp\\mesh64 "
3. for infile in glob.glob('*.min'):
4.   FilePrefix =os.path.splitext(os.path.basename(infile))[0]
5.   Command = ProgName + FilePrefix
6.   print("Processing: " + infile)
7.   subprocess.Popen(Command)</pre>
<p>Line 1 imports the required modules. Note the double backslashes in Line 2 to enter the backslash character in the string. Line 3 stores all file names that match the pattern for <strong>Mesh </strong>input files. Line 4 extracts the current file prefix, while Line 7 runs <strong>Mesh</strong>.</p>
<p>You can run the script by moving it into the directory that contains the <em>MIN</em> files and then double-clicking on it in your file manager. I use a different approach. I have set a directory <em>c:\batch</em> on the Windows path that I use for command-line utilities. I copied <em>makemesh.pyw</em> to the directory and wrote the file <em>makemesh.bat</em> with the content:</p>
<pre>python c:\batch\makemesh.pyw</pre>
<p>In this case, I can open a terminal in any directory and simply type <em>makemesh</em>.</p>
<p>In the script, note that the <em>.wait()</em> option does not appear at the end of <em>subprocess.Popen</em> as in a <a href="http://fieldp.com/myblog/2010/python-versus-perl/" target="_blank">previous article</a>. This is because the mesh generation operations are independent and may run in parallel (multiple threads). This approach saves time if you have a multi-core computer. On the other hand, you should be careful running multiple programs where one program may use data generated by another. For instance, this example illustrates how to both process the meshes and to generate <strong>Pulse</strong> solutions:</p>
<pre>import subprocess, os, glob</pre>
<pre>MeshProgName = "c:\\fieldp\\tricomp\\mesh64 "
PulseProgName = "c:\\fieldp\\tricomp\\pulse64 "
for infile in glob.glob('*.min'):
  FilePrefix =os.path.splitext(os.path.basename(infile))[0]
  print("Creating mesh: " + infile)
  Command = MeshProgName + FilePrefix
  subprocess.Popen(Command).wait()
  print("Creating solution: " + infile)
  Command = PulseProgName + FilePrefix
  subprocess.Popen(Command).wait()</pre>
]]></content:encoded>
			<wfw:commentRss>http://fieldp.com/myblog/2010/processing-all-mesh-files-in-a-directory-with-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Keeping your programs up to date</title>
		<link>http://fieldp.com/myblog/2010/keeping-your-programs-up-to-date/</link>
		<comments>http://fieldp.com/myblog/2010/keeping-your-programs-up-to-date/#comments</comments>
		<pubDate>Wed, 06 Oct 2010 15:14:18 +0000</pubDate>
		<dc:creator>shumphries</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[NewFeatures]]></category>

		<guid isPermaLink="false">http://fieldp.com/myblog/?p=769</guid>
		<description><![CDATA[<p>Updates are the dark underbelly of software ethics. Most commercial programs are relatively mature, with sufficient features to satisfy almost all users. Nonetheless, there is an economic conundrum when you make a product that never wears out. So software vendors must continually hype specialized features to create a desire for a new (but effectively identical) product. [...]]]></description>
			<content:encoded><![CDATA[<p>Updates are the dark underbelly of software ethics. Most commercial programs are relatively mature, with sufficient features to satisfy almost all users. Nonetheless, there is an economic conundrum when you make a product that never wears out. So software vendors must continually hype specialized features to create a desire for a new (but effectively identical) product. Another tactic is to change the output and input file formats. Even worse, the developer may charge the user to correct faults in the program.</p>
<p>During the development phases of the <strong>TriComp</strong>, <strong>AMaze </strong>and <strong>GamBet</strong> packages, we charged nominal fees for updates. Starting in February 2009, we include free updates with all purchases. Previous customers can join the update program for 10% of the current price of their package. We have decided to base our income on attracting new customers rather than continually selling existing customers the same product. The strategy isn&#8217;t totally altruistic. Users are more tolerant of the inevitable errors that creep into complex programs if they are confident that the problems can be corrected without excessive effort. In this article, I will discuss how to keep current on the state of our software and how to maintain them with a minimum of worry.</p>
<p>Each time we add a feature or fix a bug, we document the changes in the log at <a href="http://www.fieldp.com/news.html" target="_blank">http://www.fieldp.com/news.html</a>. It&#8217;s unlikely that you would regularly read this boring list. On the other hand, if you observe a problem, it&#8217;s useful to go to the page to check if it has already been fixed. It only takes a minute to do a browser search on your package name and check the last few months.</p>
<p>Unless there is a program error that is a complete show-stopper, we accumulate changes over a four-month interval and offer new download packages on February 1, June 1 and October 1. At those times, we send out a reminder in our E mail NewsNote. The NewsNote is distributed in a mass mailing. If you aren&#8217;t receiving it, it may be getting trapped in a spam filter at your organization. In this case, send us a message and we will put you on a special list served from a different source.</p>
<p>If you are in the free update program and would like to download the latest packages, go to <a href="http://www.fieldp.com/contact.html" target="_blank">http://www.fieldp.com/contact.html</a> and send us a request. We will send password information to download the installer.</p>
<p>If you are apprehensive, I guarantee that updating will not affect your computer or your data. (To make my guarantee 100% true, please do not store simulation setups and results under the program folder c:\fieldp). Here&#8217;s the procedure in one (or three) easy step(s):</p>
<ol>
<li>If you want the option to restore the present version, copy the entire directory C:\FIELDP to a USB drive.</li>
<li>Run the installer and answer <em>OK</em> when it asks to uninstall the present version. Then continue with the installation which takes only a few seconds. If you have installed multiple packages, the installer will not remove programs from the other packages. Furthermore, the installation will not affect activation of your computer. You can run the new programs immediately. To emphasize, installation and activation are independent processes.</li>
<li>To restore the previous version, delete C:\FIELDP and copy the directory on your USB backup to C:\.</li>
</ol>
<p>A unique aspect of our programs is that input setups are documented in text scripts. The script format has been unchanged for the last six years with the exception of some added commands for new functions (<em>e.g.</em>, the <em>PARALLEL</em> command to activate multi-core support). The implication is that any setups you have created will run in the updated programs. Although we have made improvements to output file formats, solutions can be regenerated quickly using your archived input files.</p>
]]></content:encoded>
			<wfw:commentRss>http://fieldp.com/myblog/2010/keeping-your-programs-up-to-date/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Python versus Perl</title>
		<link>http://fieldp.com/myblog/2010/python-versus-perl/</link>
		<comments>http://fieldp.com/myblog/2010/python-versus-perl/#comments</comments>
		<pubDate>Thu, 26 Aug 2010 20:56:55 +0000</pubDate>
		<dc:creator>shumphries</dc:creator>
				<category><![CDATA[Educational]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Techniques]]></category>

		<guid isPermaLink="false">http://fieldp.com/myblog/?p=733</guid>
		<description><![CDATA[<p>Our software is designed for integration into complex sequences controlled by external programs or scripts. This integration is facilitated by the following features:</p>

All our programs may be launched from the command prompt or may be called by other programs with pass parameters.
Although the user interfaces are largely interactive, our programs feature input buffered through text scripts. [...]]]></description>
			<content:encoded><![CDATA[<p>Our software is designed for integration into complex sequences controlled by external programs or scripts. This integration is facilitated by the following features:</p>
<ol>
<li>All our programs may be launched from the command prompt or may be called by other programs with pass parameters.</li>
<li>Although the user interfaces are largely interactive, our programs feature input buffered through text scripts. These scripts may be created or modified by external programs, giving wide latitude for passive or active control loops.</li>
</ol>
<p>Interpreter languages represent an efficient option for creating shells that call our programs and take care of global data organization. In previous posts (<a href="http://fieldp.com/myblog/2008/automatic-solution-control-with-perl/" target="_self">Automatic solution control with Perl</a> and <a href="http://fieldp.com/myblog/2010/making-movies-with-the-amaze-programs/" target="_self">Making movies with the AMaze programs</a>) I discussed the Perl language and gave examples of its application. After recently comparing notes with my son, I feel that Perl may not be the best choice. We both had similar problems as occasional Perl user. Returning to the language always seemed like starting at square zero. Its syntax and control structures are arcane, and the documentation is spotty. Perl would appeal to a computer scientist because it is clever and succinct. On the other hand, succinctness can be a curse to applied scientists and engineers. I often found that I could not understand Perl codes that I had written a few months earlier. Minimalist syntax might be useful for writing Forth programs on a ZX81, but it makes no sense in an age of cut-and-paste editors and terabyte hard disks.</p>
<p>My son suggested Python as an alternative. Like Perl, Python is available at no charge for Windows, Linux and Apple computers. As a test, I decided to see how much effort it would take to duplicate the movie-making script described in a <a href="http://fieldp.com/myblog/2010/making-movies-with-the-amaze-programs/" target="_blank">previous post</a>. The task proved to be relatively easy. I downloaded and installed the programs, read the introductory documentation and duplicated the function of the script in about 3 hours. Here is a link to down my resulting script (with a .txt suffix added to avoid download problems):</p>
<p><a href="http://www.fieldp.com/myblog/examples/make_movie.pyw.txt" target="_blank">Phython example</a></p>
<p>These are the critical lines for launching our software from Python:</p>
<pre>import subprocess
ProgName = "phiview"
ScriptPrefix = "pvscript"
...
Command = ProgName + " " + ScriptPrefix
subprocess.Popen(Command).wait()</pre>
<p>They create the command line string &#8220;phiview pvscript&#8221; and then call the program as a subtask. The .wait() directive ensures that only one instance of phiview.exe runs at a time. In less than a minute, the script generates 100 graphics files showing the electrostatic potential distribution at different positions in the solution space.</p>
<p>In comparison to Perl, I feel that Python is the better choice for the occasional user working on applied problems for the following reasons:</p>
<ul>
<li>Python syntax has more intuitive appeal. Special characters to denote data types (&#8220;$&#8221;, &#8220;&amp;&#8221;, &#8220;@&#8221;,&#8230;.) are not required. It is unnecessary to put a vestigial semicolon at the end of each line, a frequent source of error. I like the idea of defining control loops by indentation since it closely matches my style of programing in FORTRAN.</li>
<li>Python scripts may be run from an interpreter window. In this case, the script should have a name of the form fprefix.py. You can open the script with a built-in editor with syntax highlighting. A script is built by adding material and making changes in the editor and pressing F5 at any time to check the operation. Printed results and error messages appear in the interpreter window and the error position is marked in the editor. This simple arrangement is quite effective for building and debugging programs. When the script is complete, you simply rename it as fprefix.pyw. Then it can be run as a background task without opening a window.</li>
<li>Python has a comprehensive and well-organized help system that can be called directly from the interpreter. This makes it easy to find the structure of a control sequence, and easy to look it up again when you have forgotten it. In contrast, I had to buy two tomes from OReilly to get started with Perl. Long searches through the books were necessary each time I returned to the language.</li>
</ul>
<p>You can get Python for Windows at <a href="http://python.org/download/" target="_blank">http://python.org/download/</a>. There is a question of whether to download Python 2.7 or 3.1.2. The latter is the development version with advanced features, The 2.7 version is still active and is compatible with many current resources available on the Internet. Considering that 2.7 has far more features than I would ever use, I decided to be conservative and use it. Installation is largely automatic. There are two operations you may need to do by hand:</p>
<ul>
<li>Add a desktop icon to run the interpreter (c:\python27\pythonw.exe).</li>
<li>Add c:\python27 to your path. In XP, run the <em>Control Panel</em>. Run <em>System </em>and click on the <em>Advanced </em>tab. Click on <em>Environmental variables</em>, highlight the <em>PATH </em>variable and click on <em>EDIT</em>. Go to the end of the long string and add &#8220;;C:\PYTHON27&#8243; (be sure to include the semicolon). Exit by clicking OKs. The modified path variable will not take effect until the next time you log in. It&#8217;s not necessary to restart the computer. Just <em>Log Off</em> the current user and log in again.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://fieldp.com/myblog/2010/python-versus-perl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

