Computation of a Simplified Centrifugal Blood Pump

Questions and remarks about code_saturne usage
Forum rules
Please read the forum usage recommendations before posting.
SRIB
Posts: 63
Joined: Wed Nov 20, 2013 7:12 pm

Re: Computation of a Simplified Centrifugal Blood Pump

Post by SRIB »

Hello,

sorry, but i am not really good in such things. I am as new in Linux as in the Code. What do you mean with user functions? And what would be the configure command?

Thank you.

Regards,

Sebastian
SRIB
Posts: 63
Joined: Wed Nov 20, 2013 7:12 pm

Re: Computation of a Simplified Centrifugal Blood Pump

Post by SRIB »

Hello,

i will install it on 13.1 without version 3.0.3. So, if i understood it right then i have to add --disable-shared like this:

./install_saturne.py --disable-shared

Right?

Regards,

Sebastian
SRIB
Posts: 63
Joined: Wed Nov 20, 2013 7:12 pm

Re: Computation of a Simplified Centrifugal Blood Pump

Post by SRIB »

Hello,
forget about the last two posts. I read in the installation guide and did the following:

in the terminal i let run:

./configure --disable-shared
sudo make
sudo make install

Then i created a saturne_build directory, edit the setup_file and started the installation via ./install_saturne.py. Installation runs now and i will update this post when i have a new listing. Hopefully it was correct and it will work.

Regards,

Sebastian
SRIB
Posts: 63
Joined: Wed Nov 20, 2013 7:12 pm

Re: Computation of a Simplified Centrifugal Blood Pump

Post by SRIB »

Hello Yvan,

i have a problem with the installation. I installed Ubuntu 13.01 and all the packages that are necessary for code saturne. But now i don't know how to install the code as you mentioned it (disable shared). Could you maybe explane it?

Regards,

Sebastian
SRIB
Posts: 63
Joined: Wed Nov 20, 2013 7:12 pm

Re: Computation of a Simplified Centrifugal Blood Pump

Post by SRIB »

Hello,

i installed version 3.2.1 on Ubuntu 13.01 via the install_saturne.py as standalone. It does not work yet. I think that this is also the reason why your cs_join_util.c does not work in my case.

Do i have to add

bft_printf("calling %s\n", __func__);

to my cs_turbomchinery respectively to the cs_join_util.c?

Regards,

Sebastian
SRIB
Posts: 63
Joined: Wed Nov 20, 2013 7:12 pm

Re: Computation of a Simplified Centrifugal Blood Pump

Post by SRIB »

Hello Yvan,

sorry for the high number of posts. I really wanted to know how the installation works and i tried a lot of different things. As a result of your idea with the "--disable-shared" i obtain now mesh joining and rotor/stator informations in the listing file. In addition your cs_join_util.c works quite well. But in case of my pump i recieved the following error:

SIGSEGV signal (forbidden memory area access) intercepted!

Call stack:
1: 0x5238bf <> (cs_solver)
2: 0x526dfa <> (cs_solver)
3: 0x70b03b <> (cs_solver)
4: 0x70b110 <> (cs_solver)
5: 0x7518d9 <> (cs_solver)
6: 0x73be91 <> (cs_solver)
7: 0x49bfbd <> (cs_solver)
8: 0x41315f <> (cs_solver)
9: 0x40f8c8 <> (cs_solver)
10: 0x4062c3 <> (cs_solver)
11: 0x7f5de1941de5 <__libc_start_main+0xf5> (libc.so.6)
12: 0x406302 <> (cs_solver)
End of stack

application called MPI_Abort(MPI_COMM_WORLD, 1) - process 2

Could it be due to root access? I have the problem that my hole installation directory is locked ? Maybe you have an idea. Attached you can find the lsiting file. Thank you very much!

Regards,

Sebastian
Attachments
listing.tar.gz
(8.88 KiB) Downloaded 528 times
Yvan Fournier
Posts: 4208
Joined: Mon Feb 20, 2012 3:25 pm

Re: Computation of a Simplified Centrifugal Blood Pump

Post by Yvan Fournier »

Hello,

By your listing, you still have some joining issues (1 face not joined correctly). Could you increase the tolerance fraction for the rotor/star joining a bit (if you are still at the 0.1 default, try 0.2; if you are already at 0.2, try 0.25).

Did you try in serial mode ? If I looked correctly, the crash happens first on rank 2, so the interesting info should be in the error_n02 file (or something similar).

Also, in case there is still some error in parallel only, running is test in serial mode will be useful (and if there is a bug in all cases, debugging in serial mode will be easier).

For your initial tests, could you build the code in debug mode ? All that is needed is adding --enable-debug to the configure, but for side-by-side installs with the production code, using a different --prefix is useful. Examples and recommendations can be found in the first few pages of the installation manual.

That advantage of a debug build is that some errors may be caught earlier, and the "addr2line" utility will allow you to extract line number information from the addresses in the error backtrace (but for production, debug builds are often 3x slower, so you really need both).

Regards,

Yvan
SRIB
Posts: 63
Joined: Wed Nov 20, 2013 7:12 pm

Re: Computation of a Simplified Centrifugal Blood Pump

Post by SRIB »

Hello Yvan,

i was sure that something with the installation was not correct. Thus, i installed code saturne new. Now i obtain Joining and Rotation in the listing and i revieved no error messages either in serial mode nor in parallel. Attached you can find the lisiting. Maybe you can have look to it?

First, i had some joining issues, but with the finer mesh i recieved no error. Just for a test i let run a computation with 10 iterations. It was successfull. I am not sure how many iterations will be necessary. At the moment (with 10 iterations :)) I have really strange results for the velocity magnitude (e.g. 200000) and in paraview i cannot see different positions of the rotor. Do you know how to visualize such a rotation?

In a previous post you wrote that k-omega is also not a good choice. Which turbulence model out of the list in the GUI would you use?

Today i had no time for the debug-installation, but i will do it during the next days. Probably it will be helpful in the near future.

Thank you very very much!

Regards,

Sebastian
Attachments
listing.tar.gz
(14.7 KiB) Downloaded 551 times
Yvan Fournier
Posts: 4208
Joined: Mon Feb 20, 2012 3:25 pm

Re: Computation of a Simplified Centrifugal Blood Pump

Post by Yvan Fournier »

Hello,

For rotor-stator, you currently need to use a fixed time step (constant in time and space), not a time-varying time step (otherwise, predicted and determined rotation angle for a given time step may be off, and it gets worse from there).

You'll then need to adjust your time step, but your CFL (Courant number in the listing) should remain reasonably small (ideally, mean value should not go above 5-20. If max is much higher than mean, reducing it further to avoid a too high max is safer).

For visualization of rotation, you need to change the default setting in the GUI under "Calculation Control/Output Control/Writer" for writer "results" to "Transient Connectivity" instead of "Fixed Mesh", as well as define an output frequency instead of only having output at the end of the calculation.

At this stage, I also recommend reading the best-practice guidelines in the "Home" part of this website if you have not already done so.

For turbulence, I'll check with others, but if you use k-omega (slow) or k-epsilon linear production (default), activating correction of rotation terms may be a good choice (irccor keyword), for which you will need to add cs_user_parameters.f90 from SRC/REFERENCE to SRC in your case setup (search for irccor in that file to see where to edit it). Otherwise, for rotation effects, RSM (Rij SSG) is often recommended, even though it is a bit more costly than k-epsilon. In any case, comparing results with different models is always a good idea (although you may eliminate models which you know to be inadequate for this use: I would tend to believe isotropic models such as k-epsilon or k-omega with no rotation correction can not correctly model turbulence effects with rotation, which induces anisotropy.

Regards,

Yvan
SRIB
Posts: 63
Joined: Wed Nov 20, 2013 7:12 pm

Re: Computation of a Simplified Centrifugal Blood Pump

Post by SRIB »

Hello,

thank you very much for your help! I will try so.

Regards,

Sebastian
Post Reply