OpenFOAM on tablet (iPad)??
Hmm, just want to know before I go to buy an tablet, is there anyone be able to compile and run openfoam on tablet? Like iPad or android, etc.
Any comments or experience on the current status or developing status of topics like "run an mesh generator on tablet" or "run paraview on tablet" are also welcome. :D Thanks ----------- 1/153 dw |
Hi 1/153 dw,
:eek: I love this topic! Personally I've investigated about the possibility of building OpenFOAM on Android. And yes, I wanted to be the first to launch OpenFOAM on Android. But there were two main problems:
On the other hand, if we're talking about rooted tablet devices, the story is completely different: if you can root Ubuntu or Fedora or any other Linux distribution onto your tablet, then you can run the whole Linux world in it... in theory, that is. And AFAIK, the rooted section is slower when compared to the original OS installed in the tablet. Similarly, there's always the "KDE tablet" - which has changed names a few times - which should run Linux natively, making it more plausible to run OpenFOAM in one. But then comes into play the paradigm shift:
Although, there are already several game console emulators already available for iPad and Android... but these emulate old consoles, not the latest generation of PS3 or XBox. Therefore, AFAIK, tablets can nowadays be used with OpenFOAM as follows:
And with this I conclude my knowledge in this area. :rolleyes: Best regards, Bruno |
Hmm, it seems to me, from a long term point of view,
Remote application (like ssh) has better potentiality than native applications. And I vote for remote applications on a high speed wifi or on board network. |
OpenFOAM on Android
Hi Foamers!
I have ported OpenFOAM-2.3.0 to run on (rooted) Android 4. Have a look: http://rheologic.at/?q=node/54&language=en Your feedback is highly appreciated. :) Cheers Andras |
Greetings Andras,
Many thanks for sharing! I know this is a bit troublesome to perform, as I have done some work on a tablet to have a Debian chrooted without explicit root directly on the tablet, by using the adb application from the Android SDK to run as root for setting it up. But I ended up giving up on it (partially on standby), as it was a bit too much trouble for something with such a small screen :( Although this feels a bit like cheating... you're using a rooted Android installation and you're technically using a Debian installation via jail-root, because the Android kernel is somewhat compatible with a jail rooted installation of Debian (if the right ARM build is used). And since you didn't provide any specific instructions on what modifications had to be done to OpenFOAM's source code, I can only guess that you didn't need to change much, as GCC probably did most of the work. The reaaaaally big challenge is to port OpenFOAM to build with Android's tools... so that we can then use a normal 500MB-1GB APK package for installing OpenFOAM on any Android device :D Best regards, Bruno |
Bruno,
you are absolutely right... The biggest modifications were in wmake/rules and a bit of assembly to get OpenMPI working on ARM (I had to remove some memcopy functions). I was also able to reuse the changes in wmake/rules from the previous OpenFOAM build for the Raspberry Pi. As I understand it a real 'Android'-application is in the hierarchy above the kernel, drivers, binders, flingers and all the hardware specific code. It is also written in Java to be portable across the plethora of mobile handsets, tablets, wearables, ... you-name-it and running as byte-code in Google's Dalvik Virtual Machine. I don't know if it is possible to glue Java and OpenFOAM's C++ via JNI (or something similar) together in a way to make OpenFOAM run 'natively' on Android. Even if it was possible the question remains: why do I want to spend time on porting _Open_FOAM to a mostly _closed_ OS like Android that changes it's API every 5 minutes or so? ;) For me it was a fun project and proof of concept. Also I found out that ARM7 cores were faster than I thought. :) Cheers Andras |
Hi Andras,
Yep, you're right! Spending time in a port of OpenFOAM for a pure Android package is way too much of a bother, specially since the outcome would only be to have something that won't handle much more than a million cells and that's assuming that it is a pretty massive tablet/phone. As far as I've researched into this, the C++ part would require building the GCC-C++ part of GCC or using Clang, and be linked to the Bionic C library. As for interface, either it would be necessary to bind the installation to a terminal application or have a specific GUI that would request the command line strings, for running the applications. Best regards, Bruno |
Hi,
A lot has changed with the android platform since 2014. It is fairly easy to compile openfoam on android 7 and newer (android 6 lacks some things in it's libc version, but it is possible to get it working here. Android 5 cannot handle a LD_LIBRARY_PATH that's longer than 128 (see https://github.com/termux/termux-app/issues/213)). I cross-compiled openfoam 1906 for the terminal emulator termux for the fun of it. The necessary patches and build recipe is available here: https://github.com/termux/science-pa...ages/openfoam/. If you have an android device and want to test it, simply install termux and then run Code:
apt update && apt install openfoam Note that gui applications like parafoam are not available. |
All times are GMT -4. The time now is 00:50. |