Laboratoire Jacques-Louis Lions will celebrate its 40th anniversary on December 17 and 18, 2009. Members (current and former) of the laboratory are invited to come to this celebration.
For more information, visit the official site here.
Laboratoire Jacques-Louis Lions will celebrate its 40th anniversary on December 17 and 18, 2009. Members (current and former) of the laboratory are invited to come to this celebration.
For more information, visit the official site here.
There is a new version of FreeFem++, now at version 3.6. You can download the installer from this site.
If you are using the IDE version (FreeFem++-cs), don’t worry. It is still in version 9.11.
Another Scilab issue. I am more comfortable with programming in Scilab compared with C, so I use Scilab to see if I am getting the correct answer in my C script. After printing the data matrix from C, I paste it in my Scilab code and compare the data with the results obtained in my Scilab script.
Now pasting large data matrices can be a pain in the ass inside the Scipad editor, because the automatic coloring will just make Scipad as laggy as hell. I would use a normal text editor to past the data inside the Scilab script, and then use the Scipad editor only if I am ready to execute the script. Even so, it takes several seconds before I can start executing the script.
Here is a problem that I’ve never encountered before. Whenever the script reaches the line where I define my large matrix, it returns this error:
Inconsistent row/column dimensions.
What the hell happened here? Granted, I have a 150-by-501 data matrix, but it shouldn’t be a problem. Or is it? I was able to do the same trick a few years ago, with a larger matrix. Am I missing something?
Well, at least life isn’t as boring as it used to be. I’ve been devoting most of my time figuring out how to implement the algorithm I’m studying using CUDA. And more than half of the time, I’m just figuring out how to use it. Suddenly, I miss the things I take for granted when I am programming in Scilab or Matlab. Gah.
Recently a new annoyance came up. I thought that using complex numbers is as easy as how it is done in C. Apparently, that is not the case. The inherent complex library in CUDA is not as extensive as the one in C, so my code is a mess. Now I’m having trouble figuring out pointers to the complex-valued arrays in my problem. The “C-approach” is not working.
Things would have been a little less stressful if I don’t have a countdown. I only have at most 31 days to finish this code, together with 2 other projects that are entirely unrelated to this problem. I am so screwed.
I blogged on an issue I found with Scilab version 5.1 (regarding the command ‘input’) a month ago. I still haven’t figured out if it was caused by Windows Vista or it was really a bug of Scilab 5.1. In any case, I already updated my OS to Windows 7, and I also have the new version of Scilab 5.1.1. Everything works fine now.
I’ve been using this little trick in order to stop the script momentarily and wait for user input:
stat = input(“Press Enter to continue…”,”string”);
It works well with the previous versions of Scilab. At least before the 5.x releases. But now, everytime the script reaches this line, the entire program shuts down. I wonder why?
BTW I’m using Scilab 5.1 in Windows Vista. I haven’t tried it in Linux. Yet.
Another reason why I created this blog is because I wanted to be updated on the latest software I’m using. I mean, what’s Web 2.0 for, anyway?
Since the Freefem++ Homepage is just a static site (no RSS, gah!), I will make it my mission to update the rest of the world if there is a new version of the software. The latest version is 3.5-1. (Uploaded just about an hour ago, I might add.) There is a new edition of the documentation as well.
The International Workshop on Biomathematics and Biomechanics will be held on November 20-23, 2009 in Tozeur, Tunisia.
As presented from the official website:
The International Workshop on Biomathematics and Biomechanics aims at providing an international forum for researchers working in modeling and simulation on various physiological and pathophysiological aspects, especially for the improvement of medical diagnosis, disease prevention, and therapy strategy and prognosis. A major goal of this meeting is to present recent advances and new trends in Biomathematics and Biomechanics, especially to young scientists, as one day will contain a set of review-talks. Mathematics and Mechanics applied to physiological systems can have several goals. Modeling of physiological systems generally aims at understanding their behavior and predicting their evolution. Process control and optimization aim at yielding adequate evolution of the solution or an efficient design of therapeutic devices or procedure of drug delivery. This scientific meeting will essentially gather researchers from both sides of the Mediterranean Sea. The workshop will take place on three days with the following topics
* Mathematical modelling,
* Molecular modelling,
* Simulation of cell and tissue behavior,
* Medical devices and drug delivery.
Let me first give you a background on how I discovered this trick. My supervisor asked me to do phase diagrams for the simulation we’ve been working on. It was then that he told me that there is a trick to choose the initial values of the ODE using a mouse. I was surprised that such a command exists in Scilab, and my supervisor gave me a sample script to test it.
So now, I present to you the command xclick(). It allows you to choose a point from a graphics window and returns the coordinates of the point. Let us look at the syntax (as explained here):
[ibutton,xcoord,yxcoord,iwin,cbmenu] = xclick([flag])
where:
If it is called with 3 left hand side arguments, it waits for a mouse click in the current graphics window. However, if it is called with 4 or 5 left hand side arguments, it waits for a mouse click in any graphics window.
For the values of ibutton, the usual values are:
For the other values, consult this page.
So, how do we use it?
If you type only this line:
[i,x,y] = xclick()
it creates a new graphics window and waits for you to click on any point of the window. Once done, it returns the coordinate of the point (x for the x-coordinate, y for the y-coordinate) and the mouse action used to select the point. Note that the default coordinates assigns the values x = 0 and y = 0 to the point located at the center of the graphics window, and the rest of the points are labeled just like how you would label a Cartesian coordinate system (positive values of x on the right, positive values of y on top).
If you want to specify the bounds of the x-axis and the y-axis before using xclick(), you can do the following trick:
a = get(“curent_axes”);
a.data_bounds = [xmin,ymin,xmax,ymax];
[i,x,y] = xclick()
If there is an existing plot in the current graphics window, then xclick() will just adopt the coordinate system in that window.
Neat, eh? Now it’s time for me to play around with this command and draw some fancy graphs start working on what my supervisor asked me to do.
Reference: Scilab manual
I was attending this workshop on FreeFEM++, conducted by the creators of the program from our lab. I was actually having second thoughts about it, feeling that they start too early for me. But then again, I only knew the basics of the program when I started self-studying it a few months ago, and learning a few tricks from the masters would help.
They were demonstrating a simple example of using the program: solving the Poisson equation
(plus boundary conditions) in a 2-dimensional domain . Great. But when I looked at the domain they used, I frowned.

The domain in question
Of course, the lecturers had to explain since not everyone in the audience speaks French. “Poisson” is the French word for fish. So they were planning to solve the Poisson equation on the “poisson” domain. It was too early for bad puns, argh.
In retrospect, they really thought of a way to make the final solution depict the fins of the fish. In this demonstration, they used ,
on the boundary that forms the eye of the fish, and
on the rest of the boundary.
So this is what numerical analysts do in their idle time. Great.