Search This Blog

Friday, December 14, 2007

Wednesday, December 5, 2007

Tuesday, December 4, 2007

Yuewei Liu's defense

Yuewei Liu successfully defended her MS thesis entitled, "Large Scale Monte Carlo Simulation of Crossflow Membrane Filtration for Removal of Particulate Materials," in Dec. 3rd, 2007.


Holmes 287, 2:00 pm

Right before her defense.

(Wei-xi and Yuewei)

(Yuewei and Mungfa)

(Albert, Yuewei, and Seojin)
Holmes hall is wireless-connected!

(Albert, Yuewei, and Nam)
Near Diamond Head after the Yuewei's defense

Wednesday, November 21, 2007

A paper accepted in EPJE

Albert's first, single-authored paper entitled, "Permeate Flux Inflection due to Concentration Polarization in Crossflow Membrane Filtration: A Novel Analytic Approach" is accepted in European Physical Journal E - Soft Matter.

"The European Physical Journal E (EPJ E) originates from the merging of Il Nuovo Cimento, Journal de Physique II, and Zeitschrift für Physik."

Sunday, November 11, 2007

Double Spacing in LaTex

To doublespace a LaTeX document, you should include the line


after your \documentclass line.

Before your \begin{document} command,


will make the text of the whole document doublespaced.  Footnotes,
figures, and tables will still be singlespaced, however. For one-and-a-half
spacing, instead use the command


In order to make a part of the text of your document singlespaced, you can


at the beginning of the text you want singlespaced, and


at the end.

You can also set the spacing to be something other than doublespaced; for
example, if you wanted to have one-and-a-quarter spacing between lines,
use the line


before your \begin{document} command, and after the
\usepackage{setspace} line.


Monday, November 5, 2007

Positions Available

Two PhD candidates interested in computational modeling are sought to assist with research supported by an NSF CAREER project. Competitive stipends and tuition waivers will be provided. The primary responsibility of the students is to modify, develop, and perform statistical mechanical simulations of (bias) Monte Carlo, molecular dynamics, Brownian dynamics, and especially Stokesian dynamics to investigate transport, aggregation, deposition, and filtration of nano- and bio-colloids in aqueous systems. A strong background in one or more of the following is highly desirable: Environmental and/or Chemical Engineering, Fluid Mechanics, Bioinformatics, Computational Chemistry, Applied Mathematics, Theoretical Physics, and/or Distributed Parallel Computing. Students with general engineering or science backgrounds are also welcome to participate in this inter-disciplinary project. Interested applicants should send a resume along with a brief statement of research interests to Prof. Albert S. Kim at (Tel: 808-956-3718)

web site
Download this announcement (PDF and Word)

Friday, November 2, 2007

Scholarship offered to Todd Kawamoto

Todd Kawamoto, an 2005 high school intern student in our group, was recently offered the AFCEA Jane Kramer scholarship for four years.


A first-year PhD student, Nam Vu, passed his Qualifying Exam in Nov. 1, 2007.

Steven, Nam, Yuewei, Albert, Rentaro.
(in the middle of 2007 High School Summer Intern Program)

Monte Carlo Simulation of Crossflow Filtration

Yuewei Liu’s Monte Carlo simulations appear as a featured article of the High Performance Computing at UH (
A supplementary video is as follows simulating distribution of particles in the crossflow (x-direction) membrane channel.

Awards Ceremony and Reception, Sep. 27, 2007

recognizing Albert's Regents' Medal for Excellence in Research, 2006.

Albert, Dean Crouch (walking to the right), and Chairperson Riggs.

Dean Crouch mentions about me ......

Clark, Albert, and Gurdal

Friday, October 5, 2007

MPI-Broadcating a new data type

program main

use mpi

TYPE particle ! Defining the DATA TYPE of "particle"
REAL :: Radius
REAL :: ZetaPt
END TYPE particle

type(particle) :: colloid1

integer n, myid, numprocs , rc

integer, dimension(1) :: t, b, d

call MPI_INIT( ierr )
call MPI_COMM_RANK( MPI_COMM_WORLD, myid, ierr )
call MPI_COMM_SIZE( MPI_COMM_WORLD, numprocs, ierr )

print *, 'Process ', myid, ' of ', numprocs, ' is alive'

colloid1%Coord = 0
colloid1%Radius = 0.0
colloid1%ZetaPt = 0.0

if ( myid .eq. 0 ) then
n = 100000
colloid1%Coord(1) = 10.0
colloid1%Coord(2) = 20.0
colloid1%Coord(3) = 30.0
colloid1%Radius = 1.0
colloid1%ZetaPt = 0.0


if ( myid .gt. -1 ) then
print *, ' n of process ', myid, ' is ', n

t(1) = MPI_REAL
b(1) = 13
d(1) = 0

call MPI_TYPE_STRUCT (1,b,d,t,MPI_PARTICLE, ierr)


if ( myid .gt. -1 ) then
print *, myid, colloid1


Wednesday, September 26, 2007

Perl Tutorial Sites

Perl = Practical Extraction and Report Language

Monday, September 10, 2007

File repository setup

I have been using SVN (subversion) to manage my document file repository. SVN is being utilized more widely than CVS. With the repository in my Linux box, accessing the SVN repository from Windows on my PC was not an easy task.

There are several ways to use ssh (secure shell) to connect a remote host from Windows: Cygwin, openssh for windows, CopSSH, and PuTTY. PuTTY is popular since it is free of charge and can be easily incorporated with any other Windows software. Using a private ssh-key, PuTTY allows very easy access to remote hosts, providing a reasonable GUI as good as other ssh programs for Windows such as TortoiseSVN.

TortoiseSVN is also free software, providing all the SVN features under Windows. It works with Windows Explorer (Firefox also works fine with it!) to locate the remote repository through an ssh protocol authenticated by the private key stored in PuTTY.

One of practical ways of using SVN is:
1) Visit the repository to locate a directory of tasks;
2) Check out the directory to a local directory (This can be done to Windows or Linux. In Linux, KEDSVN provides an excellent GUI);
3) Work with files in the directory;
4) Once done, commit the files updated to the directory, which will be remotely transmitted and stored in the repository, and
5) Delete the local directory to avoid any confusion with older versions.

Any jobs not completed in your office can be easily retrieved from anywhere in the world. If the previous directory is not deleted, then the 'update' option can be used to partially overwrite and/or add files to the local directory by retrieving the most updated files from the repository.

Thursday, August 23, 2007

subequation numbering in LaTex

u &\simeq& \gamma_0 y \\
v &\simeq& v_w\left(x\right)

Wednesday, August 22, 2007





A \tcol{command} usually begins with a backslash.


General Usage


These commands define (or redefine) a command.

A command name beginning with a \. For \newcommand it must not be already defined and must not begin with \end; for \renewcommand it must already be defined.
An integer from 1 to 9 denoting the number of arguments of the command being defined. The default is for the command to have no arguments.
If this optional parameter is present, it means that the command's first argument is optional. The default value of the optional argument is def.
The text to be substituted for every occurrence of cmd; a parameter of the form #n in cmd is replaced by the text of the nth argument when this substitution takes place.

Wednesday, August 15, 2007

Ubuntu CJK Chinese Japanese Korean Input Guide


sudo apt-get install uim anthy scim-gtk2-immodule scim-uim scim-chinese scim-hangul scim-tables-zh scim-tables-ja scim-tables-ko

sudo touch /etc/X11/Xsession.d/74custom-scim_startup

sudo chmod 646 /etc/X11/Xsession.d/74custom-scim_startup

echo 'export XMODIFIERS="@im=SCIM"' >> /etc/X11/Xsession.d/74custom-scim_startup

echo 'export GTK_IM_MODULE="scim"' >> /etc/X11/Xsession.d/74custom-scim_startup

echo 'export XIM_PROGRAM="scim -d"' >> /etc/X11/Xsession.d/74custom-scim_startup

echo 'export QT_IM_MODULE="scim"' >> /etc/X11/Xsession.d/74custom-scim_startup

sudo chmod 644 /etc/X11/Xsession.d/74custom-scim_startup

sudo touch ~/.kde/Autostart/startscim

echo "#!/bin/sh" >> ~/.kde/Autostart/startscim

echo "scim -d" >> ~/.kde/Autostart/startscim

sudo chmod 745 ~/.kde/Autostart/startscim

Press CTRL-SPACE to bring up SCIM input methods.

Thursday, August 9, 2007

Projector configuration with Ubuntu

I had a trouble with Ubuntu in terms of using a projector due to resolution. Modifying xorg.conf might be a little dangerous. The following command led me to configure a projector using the 1024x768 mode.

sudo dpkg-reconfigure -phigh xserver-xorg

Tuesday, August 7, 2007

pdftk tools

Merge Two or More PDFs into a New Document
pdftk 1.pdf 2.pdf 3.pdf cat output 123.pdf

or (Using Handles):
pdftk A=1.pdf B=2.pdf cat A B output 12.pdf

or (Using Wildcards):
pdftk *.pdf cat output combined.pdf

Split Select Pages from Multiple PDFs into a New Document
pdftk A=one.pdf B=two.pdf cat A1-7 B1-5 A8 output combined.pdf

Encrypt a PDF using 128-Bit Strength (the Default) and Withhold All Permissions (the Default)
pdftk mydoc.pdf output mydoc.128.pdf owner_pw foopass

Same as Above, Except a Password is Required to Open the PDF
pdftk mydoc.pdf output mydoc.128.pdf owner_pw foo user_pw baz

Same as Above, Except Printing is Allowed (after the PDF is Open)
pdftk mydoc.pdf output mydoc.128.pdf owner_pw foo user_pw baz allow printing

Decrypt a PDF
pdftk secured.pdf input_pw foopass output unsecured.pdf

Join Two Files, One of Which is Encrypted (the Output is Not Encrypted)
pdftk A=secured.pdf mydoc.pdf input_pw A=foopass cat output combined.pdf

Uncompress PDF Page Streams for Editing the PDF Code in a Text Editor
pdftk mydoc.pdf output mydoc.clear.pdf uncompress

Repair a PDF's Corrupted XREF Table and Stream Lengths (If Possible)
pdftk broken.pdf output fixed.pdf

Burst a Single PDF Document into Single Pages and Report its Data to doc_data.txt
pdftk mydoc.pdf burst

Report on PDF Document Metadata, Bookmarks and Page Labels
pdftk mydoc.pdf dump_data output report.txt

Tuesday, July 31, 2007

Dell-made 16-node cluster: 2006 version

My third cluster from Dell Inc.
  • Linux Cluster from Dell Inc. under support from National Science Foundation
  • 16 nodes, 2 Xeon processors (2.3 GHz), and 2 GB memory per node
  • Queuing system: Platform Lava, Platform Computing Inc.
  • Programming Language: Intel FORTRAN 90 and Intel C/C++

Home-made 16-PC cluster: 2001 version

My second cluster in 2001
  • Composed of 16 PCs sharing ONE keyboard, monitor, and mouse
  • Red Hat Linux 7.2 installed
  • Connected to a private network by a data switch
  • More than 30 times faster than Pentium 1.0 GHz system

Home-made 4-PC cluster: 1997 version

My first cluster in 1997

CPU: Pentium II 450MHz
Memory: 128MB
Network card: Netgear FX310, 100/10MBPS Ethernet card
Switch: Netgear 8 port, 100/10MBPS Ethernet switch
KVM sharing device: Belkin Omni Cube 4 port

Friday, July 20, 2007

Conditions for Equilibrium

"The condition of statistical equilibrium is given by the most probable condition of a closed system, and therefore the entropy is a maximum when a closed system is in the equilibrium condition."
--- Elementary Statistical Physics by C. Kittel ---

Friday, July 6, 2007

Kmail Backup

Using Ubuntu Linux, I somehow have to backup my files associated to Kontact applications such as Kmail, Kalendar, and Knote. The followings are files and directories under a user home directory, used by each of the applications.

1. Kmail:

2. You can export a current Calendar in Kontact as "iCalendar" format, save it with a unique name in a directory, and add it to Calendar again. Do not need to backup the files under .kde directory. "To-do List" and "Journal" are also included in the "iCalendar" file of the ".ics" extension.

3. Knote:

Wednesday, July 4, 2007

Replacing characters using vi editor

To replace character "old" by "new" in a file "myfile.txt",

1) Open the file using vi editor:
vi myfile.txt

2) Use keystrokes of Esc, followed by

which will replace all "old" with "new" within the entire document.

Sunday, July 1, 2007

Useful LSF commands

The following commands can be executed in the Linux shell prompt to see status of queuing system, LSF (Load Sharing Facility) from Platform Computing Inc.
  • bacct - displays accounting statistics about finished jobs
  • bhist - displays historical information about jobs
  • bhosts - displays hosts and their static and dynamic resources
  • bjobs - displays information about LSF jobs (e.g. bjobs -u all)
  • bsub - submits a batch job to LSF
  • bpeek - displays the stdout and stderr output of an unfinished job
  • bqueues - displays information about queues.
  • lsclusters - displays configuration information about LSF clusters
  • lshosts - displays static resource information about hosts.
  • lsid - displays the current LSF version number, the cluster name, and the master host
  • lsload - displays load information for hosts
  • lsinfo - displays all load sharing configuration information
  • lsmon (xlsmon) - displays load information for LSF hosts and periodically updates the display
  • lsrun - submits a task to LSF for execution.

Saturday, June 30, 2007

A simple bash script to change a file name

The following script will replace "mydata.dat" by "my22data.dat".

mv mydata.dat my$1data.dat

If the script name is "changefile", type and enter in a shell prompt:

changefile 22

22 is the argument ($) taken as $1, and 1 means the first argument. In this case, there is only one argument.

Friday, June 29, 2007

Negative Index of Array Dimension


DO i=-5,5
Z(i) = REAL(i)
WRITE(*,*) i, Z(i)


Generation of Files with Sequential Names

CHARACTER (40) :: Fname='Move',str
INTEGER :: i,imax=1000000
INTEGER :: r,s

DO i = 1,10

WRITE(str,'(F7.6)') REAL(i)/REAL(imax)

WRITE(str,*) TRIM(Fname)//TRIM(str)//".dat"

WRITE(imax+1,*) TRIM(str)



Friday, June 22, 2007

How to create SVN repository

I create my own svn repository under my home directory of my Ubuntu Linux box using the following command.

svnadmin create --fs-type fsfs /home/albertsk/svn2/albertsk

kdesvn provides a wonderful GUI environment with users to easily manage svn repositories.

Good svn tutorials can be found at


Blog Archive