Difference between revisions of "Onelab/Mobile"

From ONELAB
Jump to: navigation, search
Line 8: Line 8:
 
== Running a pre-packaged model ==
 
== Running a pre-packaged model ==
  
== Installing new models ==
+
A list of available models appears when you launch Onelab/Mobile. Selecting a model will load it. You can then select '''Run''' to launch a simulation with the default set of parameters. To change parameters, select '''Parameters'''.
  
 +
== Installing new models on iOS ==
 +
 +
In order to install a model on iOS, you need to bundle it inside a directory with extension '''.onelab'''. The directory should contain a file named '''info.xml''' containing the model information (see [[http://onelab.info/files/inductor]] for an example). You can then use [http://support.apple.com/kb/HT4094 file sharing] in iTunes to install the model on your device. It will appear in the list of available models the next time you restart the application.
 +
 +
== Installing new models on Android ==
 +
 +
On Android, you can simply open .geo or .pro files from a [https://play.google.com/store/search?q=file%20explorer&c=apps file explorer].
  
 
= Installing unpublished/beta versions of Onelab/Mobile =
 
= Installing unpublished/beta versions of Onelab/Mobile =
Line 28: Line 35:
 
## or use the Android SDK tool '''adb''' and install the file: <source lang="bash">adb install Onelab.apk</source>
 
## or use the Android SDK tool '''adb''' and install the file: <source lang="bash">adb install Onelab.apk</source>
 
## or use your web browser and directly download '''Onelab.apk''' on your device and install it
 
## or use your web browser and directly download '''Onelab.apk''' on your device and install it
 
  
 
= Compiling Onelab/Mobile =
 
= Compiling Onelab/Mobile =
  
 +
= iOS =
  
== Android ==
+
You will need a Mac with Xcode >= 4 and the iOS SDK >= 7.0. The Onelab/Mobile application depends on several external frameworks (Gmsh, GetDP, PETSc). Scripts in the Gmsh SVN source tree show the steps required to build these frameworks for the [[gmsh/contrib/mobile/utils/onelab_iossimulator_build.sh  simulator]] and for the actual [[gmsh/contrib/mobile/utils/onelab_iossimulator_build.sh device]].
 
 
 
 
= How to add a model =
 
== Android ==
 
On Android, you can open .geo, .pro files from a [https://play.google.com/store/search?q=file%20explorer&c=apps file explorer].
 
 
 
== iOS ==
 
To add a model on iOS you can use [http://support.apple.com/kb/HT4094 File Sharing]. <br />
 
The model has to be in a directory with extension ".onelab". <br />
 
Example for magnet: <br />
 
<code>
 
 
 
magnet.onelab/
 
    magnet.geo
 
    magnet.pro
 
    magnet_data.pro
 
    Magnetostatics.pro
 
    infos.xml
 
</code>
 
and the file "infos.xml" looks like:
 
<source lang="xml">
 
<?xml version="1.0" encoding="utf-8"?>
 
 
 
<models>
 
        <model>
 
                <title>Magnet</title>
 
                <summary>Simple magnet example.</summary>
 
                <file type="pro">magnet.pro</file>
 
        </model>
 
</models>
 
</source>
 
 
 
= Mobile - Build for iOS =
 
Requirement:
 
* ''You need to be on a Mac''
 
* ''You need to have xcode >= 4''
 
* ''You need to have the iOS SDK >= 7.0''
 
== Compile the framework for iOS simulator ==
 
To compile for the simulator, the frameworks have to be for i386 architecture.
 
Example for Gmsh:
 
<source lang="bash">
 
mkdir buildIOSSimulator
 
cd buildIOSSimulator
 
cmake -DENABLE_LIB=1 -DDEFAULT=0 -DENABLE_BLAS_LAPACK=1 -DENABLE_MESH=1 -DENABLE_ONELAB=1 -DENABLE_POST=1 -DCMAKE_CXX_FLAGS='-m32' ../
 
make framework
 
</source>
 
 
 
== Compile the frameworks for iOS device ==
 
To compile for an iOS device you need a toolchain (e.g. [https://code.google.com/p/ios-cmake/ ios-cmake]).
 
<source lang="bash">
 
mkdir buildIOS
 
cd buildIOS
 
cmake -DDEFAULT=0 -DENABLE_LIB=1 -DENABLE_BLAS_LAPACK=1 -DENABLE_MESH=1 -DENABLE_ONELAB=1 -DENABLE_POST=1 -DCMAKE_TOOLCHAIN_FILE=/path/to/iOS.cmake -Gxcode ../
 
xcodebuild -target lib -configuration Release
 
</source>
 
  
== Create the project ==
+
= Android =
To create the project you have to create a new directory and then, create the project with cmake
 
<source lang="bash">
 
mkdir iOSProject
 
cd iOSProject
 
cmake ../contrib/mobile/
 
make xcodeProject
 
</source>
 
Then you can use "open" command to open the project with xcode.
 
<source lang="bash">open Onelab/Onelab.xcodeproj</source>
 
  
= Mobile - Build for Android =
 
 
''This procedure has been tested only on a Linux distribution''
 
''This procedure has been tested only on a Linux distribution''
 
<br />
 
<br />

Revision as of 16:39, 28 March 2014

Please report bugs and suggestions for the mobile version of Onelab to mobile @ onelab . info (without spaces).

Short user guide

Onelab/Mobile is available for iOS 7 (iPhone and iPad) and Android 4. It currently contains Gmsh and GetDP and runs all computations locally on your mobile device. Future versions will add support for remote calculations in the cloud.

Running a pre-packaged model

A list of available models appears when you launch Onelab/Mobile. Selecting a model will load it. You can then select Run to launch a simulation with the default set of parameters. To change parameters, select Parameters.

Installing new models on iOS

In order to install a model on iOS, you need to bundle it inside a directory with extension .onelab. The directory should contain a file named info.xml containing the model information (see [[1]] for an example). You can then use file sharing in iTunes to install the model on your device. It will appear in the list of available models the next time you restart the application.

Installing new models on Android

On Android, you can simply open .geo or .pro files from a file explorer.

Installing unpublished/beta versions of Onelab/Mobile

Follow the instructions below if you want to install a version of Onelab/Mobile that is not published officially on the App Store (for iOS) or the Google Play store (for Android).

iOS

  1. Download Onelab.ipa
  2. Send us your device ID] by email at mobile @ onelab . info ; we will add your device to the list of the devices allowed for Onelab/Mobile beta development.
  3. Install the Onelab/Mobile application through iTunes by double-cliking on Onelab.ipa.

Android

  1. Allow the installation of non-Market apps on your Android device (> Settings > Security > Unknown sources)
  2. Install the application:
    1. either download Onelab.apk, upload it on your SD card and use a file explorer to open it
    2. or use the Android SDK tool adb and install the file:
      adb install Onelab.apk
    3. or use your web browser and directly download Onelab.apk on your device and install it

Compiling Onelab/Mobile

iOS

You will need a Mac with Xcode >= 4 and the iOS SDK >= 7.0. The Onelab/Mobile application depends on several external frameworks (Gmsh, GetDP, PETSc). Scripts in the Gmsh SVN source tree show the steps required to build these frameworks for the gmsh/contrib/mobile/utils/onelab_iossimulator_build.sh simulator and for the actual gmsh/contrib/mobile/utils/onelab_iossimulator_build.sh device.

Android

This procedure has been tested only on a Linux distribution
Requirement:

  • You need to have Android SDK with a level >= 14
  • You also need Android NDK to compile libraries

Compile the libraries

Most of the Android powered device run on an ARMv7 architecture.
Here is the way to compile Gmsh library for this architecture.
To do this, you need a toolchain (e.g android-cmake)

mkdir buildAndroid
cd buildAndroid
cmake -DCMAKE_TOOLCHAIN_FILE=/path/to/android.toolchain.cmake -DDEFAULT=0 -DENABLE_LIB=1 -DENABLE_BLAS_LAPACK=1 -DENABLE_MESH=1 -DENABLE_ONELAB=1 -DENABLE_POST=1 ../
make androidGmsh

Create the project

The project need multiples libraries:

  • Gmsh
  • GetDP
  • ONELAB (see below)
  • PETSc
  • BLAS & LAPACK

The ONELAB library is a small library to interface the application (Java) with Gmsh (Native library). You can build it from gmsh-svn (it's in /contrib/mobile/)

To use the automated cmake procedure you have to create a directory (e.g. Gmsh) with:

  • The library with directory name and without any extension (e.g. Gmsh)
  • The headers (they can be obtain with "make getHeaders")

The final directory for Gmsh looks like

Gmsh/
   Gmsh
   Headers/
       *.h

Then you can create the project:

make androidProject

Then you can open the project with Eclipse or with Android Studio You can also compile using the command line:

android update project --name Onelab --path . --target targetID
ant release