Monday, November 19, 2007

Syntax highlight file for Surface Evolver

 

This a the syntax highlight file for surface evolver. Download here.

Thursday, October 25, 2007

Surface Evolver Tips

The following are several tips for quicker master Surface Evolver script:

  1. not refine to the final resolution at the beginning. Run at low resolution at beginning, refine it during evolution. For example, like g; r; u 3; g2; V 3; u;
  2. try use u 3; every time you do the refine. ru={r; u 3}
  3. In my experience, V is never harmful. put u 3 after V 3 all the time. Vu={V 3; u 3;}
  4. follow g 3 after Vu, Vug={Vu; g 3}
  5. hessian should be carefully be used. It may cause a disaster if used improperly. If you've got nonnegative/nonpositive in your constraint, avoid use it.
  6. the scale value every time you run g shows is important indication for the evolution process. zero means evoluiton run into a wrong situation.

Monday, September 17, 2007

Tips of exporting vectorwork model to ansys

Here are some tips for exporting vectorwork model to ansys

  1. you can either use SAT(3D only) or IGES(3D only), but SAT is prefered. Normally sat give better result.
  2. Be aware the units. In vectorwork, try using the highest precision, and use International system.
  3. you can only extrude a 2D object to 3D inside the symbos or not using symbol at all. you can't combine (add surface) of any 2D symbol to one.

Friday, August 31, 2007

Draw MEMS Process Steps Through Matlab (2)

improved surface smoothing. Download from here.

Friday, August 17, 2007

A brief history of seismocardiography

"Seismocardiography is a noninvasive technique developed for recording and analyzing cardiac vibratory activity as a measure of cardiac contractile performace. " [1]

--Early Age--

As far as in 1961, Russian scientist BOZHENKO BS published a paper Seismocardiography--a new method in the study of functional conditions of the heart. It can be trust that the term seismocardiography (SCG) is first proposed in this paper. Later in 1964, Russian scientist BAEVSKII RM, et, al published another paper SEISMOCARDIOGRAPHY.

In 1976, the first application of this technique seems also come from Russian scientists. Bal'maqiia TA and his colleagues used SCG to examine healthy infants and young children .

Regretfully, so far, none of these original papers has been found through Internet, not even the English translation.

--Morden Age--

In 1988, American scientist Salerno DM & Zanetti JM patented Cardiac compression wave measuring system and method, where the term seismocardiography is first proposed in western and registered. It use seismic techniques and principle to measure cardiac performance by detecting compression waves generated by heart muscle function [2].

In this patent, an seismic accelerometer (usually piezoelectric accelerometer) high sensitivity at ultra-low frequency (0-800Hz) is placed on the chest region of a horizontally disposed patient. Tha analog signals is read and passed through a low-pass fileter (0-50Hz).

In 1991, Salerno DM & Zanetti JM's published a paper Seismocardiography: a technique for recording precordical acceleration, which marked the academic study of SCG. Later in the same year, Salerno and Zanetti, with other colleagues published several papers concerning the potential applications of this technique. These research studied the effect of some abnormal cardiac activities to the signal of SCG, those activities include obstruction of coronary blood flow during balloon angioplasty [3], left ventricular function change during ischemia [4]. Piezoelectric accelerometer was chosen as transducer during their experiments. Signal pattern identification and noise analysis is another important work carried out during their initial researches [5].

In 1994, relationship between seismocardiogram and echocardiogram for events in the cardiac cycle is studied by ganroth, Hannan P, Salerno DM.

In 1999, the SCG grabbed attention of Zanetti JM for its magnetic-field-compatible, which is extremelly useful during MRI process [6]. It provide a alternative method for ECG, which has restriction application in MRI by its very nature.

In 2002 and 2005, polish Piotrowicz R. carried out the experiment of using SCG to estimate left ventricular function and coronary artery disease [7][8]. No full text papers has been found yet. It is interesting that these expierments have the same focus in the research carried out by Salerno DM and Zanetti JM, et, al in 1991.

In 2003 and 2004, vibration isolation of SCG during MRI is studied by K. Naemura, et, al in [12][13].

In 2006, Pavel Smrcka (Czech) proposed a method for pseudo-period detection in seismocardiographic signal[9].

In 2007, Jared B Shell (US) used low-cost geophone aceelerometer carried out three-axis seismocardiography [10].

Monday, August 13, 2007

Draw MEMS Process Steps Through Matlab

A small matlab program has been wroten to assist the layout of MEMS process. Normally, MEMS processes include deposit, LIGA (lithography), and etching. This program is based on this concept as well. By just simply write the deposit, LIGA, and etching commands, with their parameters, the MEMS cross section layout can be drawn after any step. The commands include:

  • loadlayerprofile() -- which stores all the preference parameters which can be altered at will.
  • deposit ('materailName', thickness) -- materialName currently support Si, SiO2, PR, metal. thickness shoulb between 1 and 10.
  • liga (pattern) -- pattern is an char array like ' --- -- - ---', the length is variable, while the blank means etched photo resistor.
  • etch ('materialName') -- currently support anisotropic etching only.
  • removepr() -- remove all the PR current on the surface.
  • drawlayers() -- can be put after any command above. This command draw the current cross section view.
Example:
clear all;
clear global;
loadlayerprofile('MEMS');

figure(1);
deposit ('Si', 10);
deposit('SiO2', 1);
drawlayers();

deposit('Si', 6);
deposit('PR', 1);
drawlayers();
liga(' - ---- - ');
etch ('Si');
removepr('PR');
drawlayers();

deposit('metal', 2);
deposit('PR', 1);
liga(' -- ');
etch ('metal');
removepr('PR');
drawlayers();

deposit('PR', 1);
liga('-- -------------- --');
drawlayers();
etch ('SiO2');
drawlayers();
etch ('Si');
removepr('PR');
drawlayers();
axis ([0 100 0 120])


RESULT:

Sunday, August 12, 2007

How to generate a symbol relationship tree in vectorworks

Using vectorworks to produce MEMS mask layout means using simple symbols to form larger and complexer symbols. There is no straight way to generate the symbols relationship automatically. An possible way I sorted out is as following:

  1. export your final work to vectorscript file.
  2. using a matlab script I wrote to read this vectorscript file. According to the symbol function inside the script file, an relationship chart will be generated automatically.
At this moment, it only support the first level of the relationship.